4package com.google.ortools.sat;
17 com.google.protobuf.GeneratedMessageV3 implements
20private static final long serialVersionUID = 0L;
22 private SatParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
27 preferredVariableOrder_ = 0;
29 usePhaseSaving_ =
true;
30 polarityRephaseIncrement_ = 1000;
31 minimizationAlgorithm_ = 2;
32 binaryMinimizationAlgorithm_ = 1;
33 subsumptionDuringConflictAnalysis_ =
true;
34 clauseCleanupPeriod_ = 10000;
35 clauseCleanupRatio_ = 0.5D;
36 clauseCleanupProtection_ = 0;
37 clauseCleanupLbdBound_ = 5;
38 clauseCleanupOrdering_ = 0;
39 pbCleanupIncrement_ = 200;
40 pbCleanupRatio_ = 0.5D;
41 minimizeWithPropagationRestartPeriod_ = 10;
42 minimizeWithPropagationNumDecisions_ = 1000;
43 variableActivityDecay_ = 0.8D;
44 maxVariableActivityValue_ = 1e+100D;
45 glucoseMaxDecay_ = 0.95D;
46 glucoseDecayIncrement_ = 0.01D;
47 glucoseDecayIncrementPeriod_ = 5000;
48 clauseActivityDecay_ = 0.999D;
49 maxClauseActivityValue_ = 1e+20D;
50 restartAlgorithms_ = java.util.Collections.emptyList();
51 defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
53 restartRunningWindowSize_ = 50;
54 restartDlAverageRatio_ = 1D;
55 restartLbdAverageRatio_ = 1D;
56 blockingRestartWindowSize_ = 5000;
57 blockingRestartMultiplier_ = 1.4D;
58 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
59 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
60 maxNumberOfConflicts_ = 9223372036854775807L;
61 maxMemoryInMb_ = 10000L;
62 absoluteGapLimit_ = 0.0001D;
64 logFrequencyInSeconds_ = -1D;
65 modelReductionLogFrequencyInSeconds_ = 5D;
68 countAssumptionLevelsInLbd_ =
true;
69 presolveBveThreshold_ = 500;
70 presolveBveClauseWeight_ = 3;
71 probingDeterministicTimeLimit_ = 1D;
72 presolveProbingDeterministicTimeLimit_ = 30D;
73 presolveBlockedClause_ =
true;
74 presolveUseBva_ =
true;
75 presolveBvaThreshold_ = 1;
76 maxPresolveIterations_ = 3;
77 cpModelPresolve_ =
true;
78 cpModelProbingLevel_ = 2;
79 cpModelUseSatPresolve_ =
true;
80 tableCompressionLevel_ = 2;
81 expandReservoirConstraints_ =
true;
82 mergeNoOverlapWorkLimit_ = 1000000000000D;
83 mergeAtMostOneWorkLimit_ = 100000000D;
84 presolveSubstitutionLevel_ = 1;
85 presolveInclusionWorkLimit_ = 100000000L;
87 inferAllDiffs_ =
true;
88 findBigLinearOverlap_ =
true;
89 minNumLnsWorkers_ = 2;
91 com.google.protobuf.LazyStringArrayList.emptyList();
93 com.google.protobuf.LazyStringArrayList.emptyList();
95 com.google.protobuf.LazyStringArrayList.emptyList();
96 subsolverParams_ = java.util.Collections.emptyList();
97 shareObjectiveBounds_ =
true;
98 shareLevelZeroBounds_ =
true;
99 shareBinaryClauses_ =
true;
100 useOptimizationHints_ =
true;
101 minimizeCore_ =
true;
102 findMultipleCores_ =
true;
103 coverOptimization_ =
true;
104 maxSatAssumptionOrder_ = 0;
105 maxSatStratification_ = 1;
106 propagationLoopDetectionFactor_ = 10D;
107 usePrecedencesInDisjunctiveConstraint_ =
true;
108 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
109 useDisjunctiveConstraintInCumulative_ =
true;
110 useDualSchedulingHeuristics_ =
true;
111 linearizationLevel_ = 1;
112 booleanEncodingLevel_ = 1;
113 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
118 addZeroHalfCuts_ =
true;
119 addCliqueCuts_ =
true;
120 maxAllDiffCutSize_ = 64;
121 addLinMaxCuts_ =
true;
122 maxIntegerRoundingScaling_ = 600;
123 addLpConstraintsLazily_ =
true;
124 rootLpIterations_ = 2000;
125 minOrthogonalityForLpConstraints_ = 0.05D;
126 maxCutRoundsAtLevelZero_ = 1;
127 maxConsecutiveInactiveCount_ = 100;
128 cutMaxActiveCountValue_ = 10000000000D;
129 cutActiveCountDecay_ = 0.8D;
130 cutCleanupTarget_ = 1000;
131 newConstraintsBatchSize_ = 50;
132 searchBranching_ = 0;
133 hintConflictLimit_ = 10;
134 exploitIntegerLpSolution_ =
true;
135 exploitAllLpSolution_ =
true;
136 exploitObjective_ =
true;
137 useShavingInProbingSearch_ =
true;
138 shavingSearchDeterministicTime_ = 0.001D;
139 pseudoCostReliabilityThreshold_ = 100L;
140 binarySearchNumConflicts_ = -1;
141 feasibilityJumpMaxNumValuesScanned_ = 4096L;
142 feasibilityJumpProtectLinearFeasibility_ =
true;
143 feasibilityJumpDecay_ = 1D;
144 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
145 feasibilityJumpEnableRestarts_ =
true;
146 violationLsPerturbationPeriod_ = 100;
147 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
148 sharedTreeMaxNodesPerWorker_ = 128;
149 sharedTreeSplitStrategy_ = 0;
150 instantiateAllVariables_ =
true;
151 autoDetectGreaterThanAtLeastOneOf_ =
true;
152 solutionPoolSize_ = 3;
154 useFeasibilityPump_ =
true;
156 useExactLpReason_ =
true;
157 catchSigintSignal_ =
true;
158 useImpliedBounds_ =
true;
159 convertIntervals_ =
true;
161 linearSplitSize_ = 100;
162 mipMaxBound_ = 10000000D;
164 mipAutomaticallyScaleVariables_ =
true;
165 mipWantedPrecision_ = 1e-06D;
166 mipMaxActivityExponent_ = 53;
167 mipCheckPrecision_ = 0.0001D;
168 mipComputeTrueObjectiveBound_ =
true;
169 mipMaxValidMagnitude_ = 1e+30D;
170 mipDropTolerance_ = 1e-16D;
174 @SuppressWarnings({
"unused"})
176 UnusedPrivateParameter unused) {
180 public static final com.google.protobuf.Descriptors.Descriptor
182 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
186 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
188 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
189 .ensureFieldAccessorsInitialized(
190 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
202 implements com.google.protobuf.ProtocolMessageEnum {
228 public static final int IN_ORDER_VALUE = 0;
232 public static final int IN_REVERSE_ORDER_VALUE = 1;
236 public static final int IN_RANDOM_ORDER_VALUE = 2;
248 @java.lang.Deprecated
250 return forNumber(value);
259 case 0:
return IN_ORDER;
260 case 1:
return IN_REVERSE_ORDER;
261 case 2:
return IN_RANDOM_ORDER;
262 default:
return null;
266 public static com.google.protobuf.Internal.EnumLiteMap<
VariableOrder>
268 return internalValueMap;
270 private static final com.google.protobuf.Internal.EnumLiteMap<
272 new com.google.protobuf.Internal.EnumLiteMap<
VariableOrder>() {
278 public final com.google.protobuf.Descriptors.EnumValueDescriptor
282 public final com.google.protobuf.Descriptors.EnumDescriptor
286 public static final com.google.protobuf.Descriptors.EnumDescriptor
288 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(0);
294 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
296 throw new java.lang.IllegalArgumentException(
297 "EnumValueDescriptor is not for this type.");
299 return VALUES[desc.getIndex()];
302 private final int value;
324 implements com.google.protobuf.ProtocolMessageEnum {
361 public static final int POLARITY_TRUE_VALUE = 0;
365 public static final int POLARITY_FALSE_VALUE = 1;
369 public static final int POLARITY_RANDOM_VALUE = 2;
380 public static final int POLARITY_WEIGHTED_SIGN_VALUE = 3;
388 public static final int POLARITY_REVERSE_WEIGHTED_SIGN_VALUE = 4;
400 @java.lang.Deprecated
402 return forNumber(value);
411 case 0:
return POLARITY_TRUE;
412 case 1:
return POLARITY_FALSE;
413 case 2:
return POLARITY_RANDOM;
414 case 3:
return POLARITY_WEIGHTED_SIGN;
415 case 4:
return POLARITY_REVERSE_WEIGHTED_SIGN;
416 default:
return null;
420 public static com.google.protobuf.Internal.EnumLiteMap<
Polarity>
422 return internalValueMap;
424 private static final com.google.protobuf.Internal.EnumLiteMap<
426 new com.google.protobuf.Internal.EnumLiteMap<
Polarity>() {
427 public Polarity findValueByNumber(
int number) {
432 public final com.google.protobuf.Descriptors.EnumValueDescriptor
436 public final com.google.protobuf.Descriptors.EnumDescriptor
440 public static final com.google.protobuf.Descriptors.EnumDescriptor
442 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(1);
445 private static final Polarity[] VALUES = values();
448 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
450 throw new java.lang.IllegalArgumentException(
451 "EnumValueDescriptor is not for this type.");
453 return VALUES[desc.getIndex()];
456 private final int value;
473 implements com.google.protobuf.ProtocolMessageEnum {
495 public static final int NONE_VALUE = 0;
499 public static final int SIMPLE_VALUE = 1;
503 public static final int RECURSIVE_VALUE = 2;
507 public static final int EXPERIMENTAL_VALUE = 3;
519 @java.lang.Deprecated
521 return forNumber(value);
531 case 1:
return SIMPLE;
532 case 2:
return RECURSIVE;
533 case 3:
return EXPERIMENTAL;
534 default:
return null;
540 return internalValueMap;
542 private static final com.google.protobuf.Internal.EnumLiteMap<
550 public final com.google.protobuf.Descriptors.EnumValueDescriptor
554 public final com.google.protobuf.Descriptors.EnumDescriptor
558 public static final com.google.protobuf.Descriptors.EnumDescriptor
560 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(2);
566 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
568 throw new java.lang.IllegalArgumentException(
569 "EnumValueDescriptor is not for this type.");
571 return VALUES[desc.getIndex()];
574 private final int value;
591 implements com.google.protobuf.ProtocolMessageEnum {
617 public static final int NO_BINARY_MINIMIZATION_VALUE = 0;
621 public static final int BINARY_MINIMIZATION_FIRST_VALUE = 1;
625 public static final int BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION_VALUE = 4;
629 public static final int BINARY_MINIMIZATION_WITH_REACHABILITY_VALUE = 2;
633 public static final int EXPERIMENTAL_BINARY_MINIMIZATION_VALUE = 3;
645 @java.lang.Deprecated
647 return forNumber(value);
656 case 0:
return NO_BINARY_MINIMIZATION;
657 case 1:
return BINARY_MINIMIZATION_FIRST;
658 case 4:
return BINARY_MINIMIZATION_FIRST_WITH_TRANSITIVE_REDUCTION;
659 case 2:
return BINARY_MINIMIZATION_WITH_REACHABILITY;
660 case 3:
return EXPERIMENTAL_BINARY_MINIMIZATION;
661 default:
return null;
667 return internalValueMap;
669 private static final com.google.protobuf.Internal.EnumLiteMap<
677 public final com.google.protobuf.Descriptors.EnumValueDescriptor
681 public final com.google.protobuf.Descriptors.EnumDescriptor
685 public static final com.google.protobuf.Descriptors.EnumDescriptor
687 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(3);
693 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
695 throw new java.lang.IllegalArgumentException(
696 "EnumValueDescriptor is not for this type.");
698 return VALUES[desc.getIndex()];
701 private final int value;
720 implements com.google.protobuf.ProtocolMessageEnum {
754 public static final int PROTECTION_NONE_VALUE = 0;
762 public static final int PROTECTION_ALWAYS_VALUE = 1;
770 public static final int PROTECTION_LBD_VALUE = 2;
782 @java.lang.Deprecated
784 return forNumber(value);
793 case 0:
return PROTECTION_NONE;
794 case 1:
return PROTECTION_ALWAYS;
795 case 2:
return PROTECTION_LBD;
796 default:
return null;
802 return internalValueMap;
804 private static final com.google.protobuf.Internal.EnumLiteMap<
812 public final com.google.protobuf.Descriptors.EnumValueDescriptor
816 public final com.google.protobuf.Descriptors.EnumDescriptor
820 public static final com.google.protobuf.Descriptors.EnumDescriptor
822 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(4);
828 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
830 throw new java.lang.IllegalArgumentException(
831 "EnumValueDescriptor is not for this type.");
833 return VALUES[desc.getIndex()];
836 private final int value;
854 implements com.google.protobuf.ProtocolMessageEnum {
880 public static final int CLAUSE_ACTIVITY_VALUE = 0;
888 public static final int CLAUSE_LBD_VALUE = 1;
900 @java.lang.Deprecated
902 return forNumber(value);
911 case 0:
return CLAUSE_ACTIVITY;
912 case 1:
return CLAUSE_LBD;
913 default:
return null;
917 public static com.google.protobuf.Internal.EnumLiteMap<
ClauseOrdering>
919 return internalValueMap;
921 private static final com.google.protobuf.Internal.EnumLiteMap<
929 public final com.google.protobuf.Descriptors.EnumValueDescriptor
933 public final com.google.protobuf.Descriptors.EnumDescriptor
937 public static final com.google.protobuf.Descriptors.EnumDescriptor
939 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(5);
945 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
947 throw new java.lang.IllegalArgumentException(
948 "EnumValueDescriptor is not for this type.");
950 return VALUES[desc.getIndex()];
953 private final int value;
975 implements com.google.protobuf.ProtocolMessageEnum {
1017 public static final int NO_RESTART_VALUE = 0;
1025 public static final int LUBY_RESTART_VALUE = 1;
1033 public static final int DL_MOVING_AVERAGE_RESTART_VALUE = 2;
1041 public static final int LBD_MOVING_AVERAGE_RESTART_VALUE = 3;
1049 public static final int FIXED_RESTART_VALUE = 4;
1061 @java.lang.Deprecated
1063 return forNumber(value);
1072 case 0:
return NO_RESTART;
1073 case 1:
return LUBY_RESTART;
1074 case 2:
return DL_MOVING_AVERAGE_RESTART;
1075 case 3:
return LBD_MOVING_AVERAGE_RESTART;
1076 case 4:
return FIXED_RESTART;
1077 default:
return null;
1083 return internalValueMap;
1085 private static final com.google.protobuf.Internal.EnumLiteMap<
1093 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1097 public final com.google.protobuf.Descriptors.EnumDescriptor
1101 public static final com.google.protobuf.Descriptors.EnumDescriptor
1103 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(6);
1109 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1111 throw new java.lang.IllegalArgumentException(
1112 "EnumValueDescriptor is not for this type.");
1114 return VALUES[desc.getIndex()];
1117 private final int value;
1134 implements com.google.protobuf.ProtocolMessageEnum {
1152 public static final int DEFAULT_ASSUMPTION_ORDER_VALUE = 0;
1156 public static final int ORDER_ASSUMPTION_BY_DEPTH_VALUE = 1;
1160 public static final int ORDER_ASSUMPTION_BY_WEIGHT_VALUE = 2;
1172 @java.lang.Deprecated
1174 return forNumber(value);
1183 case 0:
return DEFAULT_ASSUMPTION_ORDER;
1184 case 1:
return ORDER_ASSUMPTION_BY_DEPTH;
1185 case 2:
return ORDER_ASSUMPTION_BY_WEIGHT;
1186 default:
return null;
1192 return internalValueMap;
1194 private static final com.google.protobuf.Internal.EnumLiteMap<
1202 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1206 public final com.google.protobuf.Descriptors.EnumDescriptor
1210 public static final com.google.protobuf.Descriptors.EnumDescriptor
1212 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(7);
1218 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1220 throw new java.lang.IllegalArgumentException(
1221 "EnumValueDescriptor is not for this type.");
1223 return VALUES[desc.getIndex()];
1226 private final int value;
1243 implements com.google.protobuf.ProtocolMessageEnum {
1281 public static final int STRATIFICATION_NONE_VALUE = 0;
1290 public static final int STRATIFICATION_DESCENT_VALUE = 1;
1301 public static final int STRATIFICATION_ASCENT_VALUE = 2;
1313 @java.lang.Deprecated
1315 return forNumber(value);
1324 case 0:
return STRATIFICATION_NONE;
1325 case 1:
return STRATIFICATION_DESCENT;
1326 case 2:
return STRATIFICATION_ASCENT;
1327 default:
return null;
1333 return internalValueMap;
1335 private static final com.google.protobuf.Internal.EnumLiteMap<
1343 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1347 public final com.google.protobuf.Descriptors.EnumDescriptor
1351 public static final com.google.protobuf.Descriptors.EnumDescriptor
1353 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(8);
1359 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1361 throw new java.lang.IllegalArgumentException(
1362 "EnumValueDescriptor is not for this type.");
1364 return VALUES[desc.getIndex()];
1367 private final int value;
1384 implements com.google.protobuf.ProtocolMessageEnum {
1477 public static final int AUTOMATIC_SEARCH_VALUE = 0;
1487 public static final int FIXED_SEARCH_VALUE = 1;
1496 public static final int PORTFOLIO_SEARCH_VALUE = 2;
1505 public static final int LP_SEARCH_VALUE = 3;
1515 public static final int PSEUDO_COST_SEARCH_VALUE = 4;
1525 public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE = 5;
1535 public static final int HINT_SEARCH_VALUE = 6;
1546 public static final int PARTIAL_FIXED_SEARCH_VALUE = 7;
1558 @java.lang.Deprecated
1560 return forNumber(value);
1569 case 0:
return AUTOMATIC_SEARCH;
1570 case 1:
return FIXED_SEARCH;
1571 case 2:
return PORTFOLIO_SEARCH;
1572 case 3:
return LP_SEARCH;
1573 case 4:
return PSEUDO_COST_SEARCH;
1574 case 5:
return PORTFOLIO_WITH_QUICK_RESTART_SEARCH;
1575 case 6:
return HINT_SEARCH;
1576 case 7:
return PARTIAL_FIXED_SEARCH;
1577 default:
return null;
1581 public static com.google.protobuf.Internal.EnumLiteMap<
SearchBranching>
1583 return internalValueMap;
1585 private static final com.google.protobuf.Internal.EnumLiteMap<
1593 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1597 public final com.google.protobuf.Descriptors.EnumDescriptor
1601 public static final com.google.protobuf.Descriptors.EnumDescriptor
1603 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(9);
1609 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1611 throw new java.lang.IllegalArgumentException(
1612 "EnumValueDescriptor is not for this type.");
1614 return VALUES[desc.getIndex()];
1617 private final int value;
1630 implements com.google.protobuf.ProtocolMessageEnum {
1687 public static final int SPLIT_STRATEGY_AUTO_VALUE = 0;
1700 public static final int SPLIT_STRATEGY_DISCREPANCY_VALUE = 1;
1708 public static final int SPLIT_STRATEGY_OBJECTIVE_LB_VALUE = 2;
1716 public static final int SPLIT_STRATEGY_BALANCED_TREE_VALUE = 3;
1724 public static final int SPLIT_STRATEGY_FIRST_PROPOSAL_VALUE = 4;
1736 @java.lang.Deprecated
1738 return forNumber(value);
1747 case 0:
return SPLIT_STRATEGY_AUTO;
1748 case 1:
return SPLIT_STRATEGY_DISCREPANCY;
1749 case 2:
return SPLIT_STRATEGY_OBJECTIVE_LB;
1750 case 3:
return SPLIT_STRATEGY_BALANCED_TREE;
1751 case 4:
return SPLIT_STRATEGY_FIRST_PROPOSAL;
1752 default:
return null;
1758 return internalValueMap;
1760 private static final com.google.protobuf.Internal.EnumLiteMap<
1768 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1772 public final com.google.protobuf.Descriptors.EnumDescriptor
1776 public static final com.google.protobuf.Descriptors.EnumDescriptor
1778 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(10);
1784 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1786 throw new java.lang.IllegalArgumentException(
1787 "EnumValueDescriptor is not for this type.");
1789 return VALUES[desc.getIndex()];
1792 private final int value;
1809 implements com.google.protobuf.ProtocolMessageEnum {
1859 public static final int NEAREST_INTEGER_VALUE = 0;
1869 public static final int LOCK_BASED_VALUE = 1;
1878 public static final int ACTIVE_LOCK_BASED_VALUE = 3;
1891 public static final int PROPAGATION_ASSISTED_VALUE = 2;
1903 @java.lang.Deprecated
1905 return forNumber(value);
1914 case 0:
return NEAREST_INTEGER;
1915 case 1:
return LOCK_BASED;
1916 case 3:
return ACTIVE_LOCK_BASED;
1917 case 2:
return PROPAGATION_ASSISTED;
1918 default:
return null;
1924 return internalValueMap;
1926 private static final com.google.protobuf.Internal.EnumLiteMap<
1934 public final com.google.protobuf.Descriptors.EnumValueDescriptor
1938 public final com.google.protobuf.Descriptors.EnumDescriptor
1942 public static final com.google.protobuf.Descriptors.EnumDescriptor
1944 return com.google.ortools.sat.SatParameters.getDescriptor().getEnumTypes().get(11);
1950 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1952 throw new java.lang.IllegalArgumentException(
1953 "EnumValueDescriptor is not for this type.");
1955 return VALUES[desc.getIndex()];
1958 private final int value;
1967 private int bitField0_;
1968 private int bitField1_;
1969 private int bitField2_;
1970 private int bitField3_;
1971 private int bitField4_;
1972 private int bitField5_;
1973 private int bitField6_;
1975 @SuppressWarnings(
"serial")
1976 private volatile java.lang.Object name_ = "";
1988 return ((bitField0_ & 0x00000001) != 0);
2001 java.lang.Object ref = name_;
2002 if (ref instanceof java.lang.String) {
2003 return (java.lang.String) ref;
2005 com.google.protobuf.ByteString bs =
2006 (com.google.protobuf.ByteString) ref;
2007 java.lang.String s = bs.toStringUtf8();
2008 if (bs.isValidUtf8()) {
2024 public com.google.protobuf.ByteString
2026 java.lang.Object ref = name_;
2027 if (ref instanceof java.lang.String) {
2028 com.google.protobuf.ByteString b =
2029 com.google.protobuf.ByteString.copyFromUtf8(
2030 (java.lang.String) ref);
2034 return (com.google.protobuf.ByteString) ref;
2039 private int preferredVariableOrder_ = 0;
2045 return ((bitField0_ & 0x00000002) != 0);
2053 return result ==
null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
2057 private int initialPolarity_ = 1;
2063 return ((bitField0_ & 0x00000004) != 0);
2071 return result ==
null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
2075 private boolean usePhaseSaving_ =
true;
2096 return ((bitField0_ & 0x00000008) != 0);
2118 return usePhaseSaving_;
2122 private int polarityRephaseIncrement_ = 1000;
2135 return ((bitField0_ & 0x00000010) != 0);
2149 return polarityRephaseIncrement_;
2153 private double randomPolarityRatio_ = 0D;
2168 return ((bitField0_ & 0x00000020) != 0);
2184 return randomPolarityRatio_;
2188 private double randomBranchesRatio_ = 0D;
2201 return ((bitField0_ & 0x00000040) != 0);
2215 return randomBranchesRatio_;
2219 private boolean useErwaHeuristic_ =
false;
2232 return ((bitField0_ & 0x00000080) != 0);
2246 return useErwaHeuristic_;
2250 private double initialVariablesActivity_ = 0D;
2266 return ((bitField0_ & 0x00000100) != 0);
2283 return initialVariablesActivity_;
2287 private boolean alsoBumpVariablesInConflictReasons_ =
false;
2301 return ((bitField0_ & 0x00000200) != 0);
2316 return alsoBumpVariablesInConflictReasons_;
2320 private int minimizationAlgorithm_ = 2;
2326 return ((bitField0_ & 0x00000400) != 0);
2334 return result ==
null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
2338 private int binaryMinimizationAlgorithm_ = 1;
2344 return ((bitField0_ & 0x00000800) != 0);
2352 return result ==
null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
2356 private boolean subsumptionDuringConflictAnalysis_ =
true;
2370 return ((bitField0_ & 0x00001000) != 0);
2385 return subsumptionDuringConflictAnalysis_;
2389 private int clauseCleanupPeriod_ = 10000;
2400 return ((bitField0_ & 0x00002000) != 0);
2412 return clauseCleanupPeriod_;
2416 private int clauseCleanupTarget_ = 0;
2428 return ((bitField0_ & 0x00004000) != 0);
2441 return clauseCleanupTarget_;
2445 private double clauseCleanupRatio_ = 0.5D;
2458 return ((bitField0_ & 0x00008000) != 0);
2472 return clauseCleanupRatio_;
2476 private int clauseCleanupProtection_ = 0;
2482 return ((bitField0_ & 0x00010000) != 0);
2490 return result ==
null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
2494 private int clauseCleanupLbdBound_ = 5;
2506 return ((bitField0_ & 0x00020000) != 0);
2519 return clauseCleanupLbdBound_;
2523 private int clauseCleanupOrdering_ = 0;
2529 return ((bitField0_ & 0x00040000) != 0);
2537 return result ==
null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
2541 private int pbCleanupIncrement_ = 200;
2552 return ((bitField0_ & 0x00080000) != 0);
2564 return pbCleanupIncrement_;
2568 private double pbCleanupRatio_ = 0.5D;
2575 return ((bitField0_ & 0x00100000) != 0);
2583 return pbCleanupRatio_;
2587 private int minimizeWithPropagationRestartPeriod_ = 10;
2610 return ((bitField0_ & 0x00200000) != 0);
2634 return minimizeWithPropagationRestartPeriod_;
2638 private int minimizeWithPropagationNumDecisions_ = 1000;
2645 return ((bitField0_ & 0x00400000) != 0);
2653 return minimizeWithPropagationNumDecisions_;
2657 private double variableActivityDecay_ = 0.8D;
2675 return ((bitField0_ & 0x00800000) != 0);
2694 return variableActivityDecay_;
2698 private double maxVariableActivityValue_ = 1e+100D;
2705 return ((bitField0_ & 0x01000000) != 0);
2713 return maxVariableActivityValue_;
2717 private double glucoseMaxDecay_ = 0.95D;
2732 return ((bitField0_ & 0x02000000) != 0);
2748 return glucoseMaxDecay_;
2752 private double glucoseDecayIncrement_ = 0.01D;
2759 return ((bitField0_ & 0x04000000) != 0);
2767 return glucoseDecayIncrement_;
2771 private int glucoseDecayIncrementPeriod_ = 5000;
2778 return ((bitField0_ & 0x08000000) != 0);
2786 return glucoseDecayIncrementPeriod_;
2790 private double clauseActivityDecay_ = 0.999D;
2801 return ((bitField0_ & 0x10000000) != 0);
2813 return clauseActivityDecay_;
2817 private double maxClauseActivityValue_ = 1e+20D;
2824 return ((bitField0_ & 0x20000000) != 0);
2832 return maxClauseActivityValue_;
2836 @SuppressWarnings(
"serial")
2837 private java.util.List<java.lang.Integer> restartAlgorithms_;
2838 private static final com.google.protobuf.Internal.ListAdapter.Converter<
2840 new com.google.protobuf.Internal.ListAdapter.Converter<
2844 return result ==
null ? com.google.ortools.sat.SatParameters.RestartAlgorithm.NO_RESTART : result;
2865 return new com.google.protobuf.Internal.ListAdapter<
2866 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
2886 return restartAlgorithms_.size();
2907 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
2911 @SuppressWarnings(
"serial")
2912 private volatile java.lang.Object defaultRestartAlgorithms_ = "LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
2919 return ((bitField0_ & 0x40000000) != 0);
2927 java.lang.Object ref = defaultRestartAlgorithms_;
2928 if (ref instanceof java.lang.String) {
2929 return (java.lang.String) ref;
2931 com.google.protobuf.ByteString bs =
2932 (com.google.protobuf.ByteString) ref;
2933 java.lang.String s = bs.toStringUtf8();
2934 if (bs.isValidUtf8()) {
2935 defaultRestartAlgorithms_ = s;
2945 public com.google.protobuf.ByteString
2947 java.lang.Object ref = defaultRestartAlgorithms_;
2948 if (ref instanceof java.lang.String) {
2949 com.google.protobuf.ByteString b =
2950 com.google.protobuf.ByteString.copyFromUtf8(
2951 (java.lang.String) ref);
2952 defaultRestartAlgorithms_ = b;
2955 return (com.google.protobuf.ByteString) ref;
2960 private int restartPeriod_ = 50;
2972 return ((bitField0_ & 0x80000000) != 0);
2985 return restartPeriod_;
2989 private int restartRunningWindowSize_ = 50;
3000 return ((bitField1_ & 0x00000001) != 0);
3012 return restartRunningWindowSize_;
3016 private double restartDlAverageRatio_ = 1D;
3028 return ((bitField1_ & 0x00000002) != 0);
3041 return restartDlAverageRatio_;
3045 private double restartLbdAverageRatio_ = 1D;
3052 return ((bitField1_ & 0x00000004) != 0);
3060 return restartLbdAverageRatio_;
3064 private boolean useBlockingRestart_ =
false;
3077 return ((bitField1_ & 0x00000008) != 0);
3091 return useBlockingRestart_;
3095 private int blockingRestartWindowSize_ = 5000;
3102 return ((bitField1_ & 0x00000010) != 0);
3110 return blockingRestartWindowSize_;
3114 private double blockingRestartMultiplier_ = 1.4D;
3121 return ((bitField1_ & 0x00000020) != 0);
3129 return blockingRestartMultiplier_;
3133 private int numConflictsBeforeStrategyChanges_ = 0;
3146 return ((bitField1_ & 0x00000040) != 0);
3160 return numConflictsBeforeStrategyChanges_;
3164 private double strategyChangeIncreaseRatio_ = 0D;
3176 return ((bitField1_ & 0x00000080) != 0);
3189 return strategyChangeIncreaseRatio_;
3193 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
3205 return ((bitField1_ & 0x00000100) != 0);
3218 return maxTimeInSeconds_;
3222 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
3235 return ((bitField1_ & 0x00000200) != 0);
3249 return maxDeterministicTime_;
3253 private long maxNumberOfConflicts_ = 9223372036854775807L;
3270 return ((bitField1_ & 0x00000400) != 0);
3288 return maxNumberOfConflicts_;
3292 private long maxMemoryInMb_ = 10000L;
3308 return ((bitField1_ & 0x00000800) != 0);
3325 return maxMemoryInMb_;
3329 private double absoluteGapLimit_ = 0.0001D;
3357 return ((bitField1_ & 0x00001000) != 0);
3386 return absoluteGapLimit_;
3390 private double relativeGapLimit_ = 0D;
3397 return ((bitField1_ & 0x00002000) != 0);
3405 return relativeGapLimit_;
3409 private int randomSeed_ = 1;
3426 return ((bitField1_ & 0x00004000) != 0);
3448 private boolean permuteVariableRandomly_ =
false;
3462 return ((bitField1_ & 0x00008000) != 0);
3477 return permuteVariableRandomly_;
3481 private boolean permutePresolveConstraintOrder_ =
false;
3488 return ((bitField1_ & 0x00010000) != 0);
3496 return permutePresolveConstraintOrder_;
3500 private boolean useAbslRandom_ =
false;
3507 return ((bitField1_ & 0x00020000) != 0);
3515 return useAbslRandom_;
3519 private boolean logSearchProgress_ =
false;
3532 return ((bitField1_ & 0x00040000) != 0);
3546 return logSearchProgress_;
3550 private double logFrequencyInSeconds_ = -1D;
3563 return ((bitField1_ & 0x00080000) != 0);
3577 return logFrequencyInSeconds_;
3581 private double modelReductionLogFrequencyInSeconds_ = 5D;
3588 return ((bitField1_ & 0x00100000) != 0);
3596 return modelReductionLogFrequencyInSeconds_;
3600 private boolean logSubsolverStatistics_ =
false;
3614 return ((bitField1_ & 0x00200000) != 0);
3629 return logSubsolverStatistics_;
3633 @SuppressWarnings(
"serial")
3634 private volatile java.lang.Object logPrefix_ = "";
3645 return ((bitField1_ & 0x00400000) != 0);
3657 java.lang.Object ref = logPrefix_;
3658 if (ref instanceof java.lang.String) {
3659 return (java.lang.String) ref;
3661 com.google.protobuf.ByteString bs =
3662 (com.google.protobuf.ByteString) ref;
3663 java.lang.String s = bs.toStringUtf8();
3664 if (bs.isValidUtf8()) {
3679 public com.google.protobuf.ByteString
3681 java.lang.Object ref = logPrefix_;
3682 if (ref instanceof java.lang.String) {
3683 com.google.protobuf.ByteString b =
3684 com.google.protobuf.ByteString.copyFromUtf8(
3685 (java.lang.String) ref);
3689 return (com.google.protobuf.ByteString) ref;
3694 private boolean logToStdout_ =
true;
3705 return ((bitField1_ & 0x00800000) != 0);
3717 return logToStdout_;
3721 private boolean logToResponse_ =
false;
3732 return ((bitField1_ & 0x01000000) != 0);
3744 return logToResponse_;
3748 private boolean usePbResolution_ =
false;
3762 return ((bitField1_ & 0x02000000) != 0);
3777 return usePbResolution_;
3781 private boolean minimizeReductionDuringPbResolution_ =
false;
3795 return ((bitField1_ & 0x04000000) != 0);
3810 return minimizeReductionDuringPbResolution_;
3814 private boolean countAssumptionLevelsInLbd_ =
true;
3833 return ((bitField1_ & 0x08000000) != 0);
3853 return countAssumptionLevelsInLbd_;
3857 private int presolveBveThreshold_ = 500;
3870 return ((bitField1_ & 0x10000000) != 0);
3884 return presolveBveThreshold_;
3888 private int presolveBveClauseWeight_ = 3;
3900 return ((bitField1_ & 0x20000000) != 0);
3913 return presolveBveClauseWeight_;
3917 private double probingDeterministicTimeLimit_ = 1D;
3932 return ((bitField1_ & 0x40000000) != 0);
3948 return probingDeterministicTimeLimit_;
3952 private double presolveProbingDeterministicTimeLimit_ = 30D;
3959 return ((bitField1_ & 0x80000000) != 0);
3967 return presolveProbingDeterministicTimeLimit_;
3971 private boolean presolveBlockedClause_ =
true;
3983 return ((bitField2_ & 0x00000001) != 0);
3996 return presolveBlockedClause_;
4000 private boolean presolveUseBva_ =
true;
4011 return ((bitField2_ & 0x00000002) != 0);
4023 return presolveUseBva_;
4027 private int presolveBvaThreshold_ = 1;
4041 return ((bitField2_ & 0x00000004) != 0);
4056 return presolveBvaThreshold_;
4060 private int maxPresolveIterations_ = 3;
4073 return ((bitField2_ & 0x00000008) != 0);
4087 return maxPresolveIterations_;
4091 private boolean cpModelPresolve_ =
true;
4102 return ((bitField2_ & 0x00000010) != 0);
4114 return cpModelPresolve_;
4118 private int cpModelProbingLevel_ = 2;
4129 return ((bitField2_ & 0x00000020) != 0);
4141 return cpModelProbingLevel_;
4145 private boolean cpModelUseSatPresolve_ =
true;
4156 return ((bitField2_ & 0x00000040) != 0);
4168 return cpModelUseSatPresolve_;
4172 private boolean useSatInprocessing_ =
false;
4179 return ((bitField2_ & 0x00000080) != 0);
4187 return useSatInprocessing_;
4191 private boolean detectTableWithCost_ =
false;
4207 return ((bitField2_ & 0x00000100) != 0);
4224 return detectTableWithCost_;
4228 private int tableCompressionLevel_ = 2;
4242 return ((bitField2_ & 0x00000200) != 0);
4257 return tableCompressionLevel_;
4261 private boolean expandAlldiffConstraints_ =
false;
4273 return ((bitField2_ & 0x00000400) != 0);
4286 return expandAlldiffConstraints_;
4290 private boolean expandReservoirConstraints_ =
true;
4302 return ((bitField2_ & 0x00000800) != 0);
4315 return expandReservoirConstraints_;
4319 private boolean disableConstraintExpansion_ =
false;
4331 return ((bitField2_ & 0x00001000) != 0);
4344 return disableConstraintExpansion_;
4348 private boolean encodeComplexLinearConstraintWithInteger_ =
false;
4360 return ((bitField2_ & 0x00002000) != 0);
4373 return encodeComplexLinearConstraintWithInteger_;
4377 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
4392 return ((bitField2_ & 0x00004000) != 0);
4408 return mergeNoOverlapWorkLimit_;
4412 private double mergeAtMostOneWorkLimit_ = 100000000D;
4419 return ((bitField2_ & 0x00008000) != 0);
4427 return mergeAtMostOneWorkLimit_;
4431 private int presolveSubstitutionLevel_ = 1;
4445 return ((bitField2_ & 0x00010000) != 0);
4460 return presolveSubstitutionLevel_;
4464 private boolean presolveExtractIntegerEnforcement_ =
false;
4480 return ((bitField2_ & 0x00020000) != 0);
4497 return presolveExtractIntegerEnforcement_;
4501 private long presolveInclusionWorkLimit_ = 100000000L;
4518 return ((bitField2_ & 0x00040000) != 0);
4536 return presolveInclusionWorkLimit_;
4540 private boolean ignoreNames_ =
true;
4551 return ((bitField2_ & 0x00080000) != 0);
4563 return ignoreNames_;
4567 private boolean inferAllDiffs_ =
true;
4582 return ((bitField2_ & 0x00100000) != 0);
4598 return inferAllDiffs_;
4602 private boolean findBigLinearOverlap_ =
true;
4616 return ((bitField2_ & 0x00200000) != 0);
4631 return findBigLinearOverlap_;
4635 private int numWorkers_ = 0;
4659 return ((bitField2_ & 0x00400000) != 0);
4688 private int numSearchWorkers_ = 0;
4695 return ((bitField2_ & 0x00800000) != 0);
4703 return numSearchWorkers_;
4707 private int minNumLnsWorkers_ = 2;
4722 return ((bitField2_ & 0x01000000) != 0);
4738 return minNumLnsWorkers_;
4742 @SuppressWarnings(
"serial")
4743 private com.google.protobuf.LazyStringArrayList subsolvers_ =
4744 com.google.protobuf.LazyStringArrayList.emptyList();
4780 public com.google.protobuf.ProtocolStringList
4820 return subsolvers_.size();
4859 return subsolvers_.get(index);
4897 public com.google.protobuf.ByteString
4899 return subsolvers_.getByteString(index);
4903 @SuppressWarnings(
"serial")
4904 private com.google.protobuf.LazyStringArrayList extraSubsolvers_ =
4905 com.google.protobuf.LazyStringArrayList.emptyList();
4915 public com.google.protobuf.ProtocolStringList
4917 return extraSubsolvers_;
4929 return extraSubsolvers_.size();
4942 return extraSubsolvers_.get(index);
4954 public com.google.protobuf.ByteString
4956 return extraSubsolvers_.getByteString(index);
4960 @SuppressWarnings(
"serial")
4961 private com.google.protobuf.LazyStringArrayList ignoreSubsolvers_ =
4962 com.google.protobuf.LazyStringArrayList.emptyList();
4972 public com.google.protobuf.ProtocolStringList
4974 return ignoreSubsolvers_;
4986 return ignoreSubsolvers_.size();
4999 return ignoreSubsolvers_.get(index);
5011 public com.google.protobuf.ByteString
5013 return ignoreSubsolvers_.getByteString(index);
5017 @SuppressWarnings(
"serial")
5018 private java.util.List<com.google.ortools.sat.
SatParameters> subsolverParams_;
5031 return subsolverParams_;
5044 public java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder>
5046 return subsolverParams_;
5060 return subsolverParams_.size();
5074 return subsolverParams_.get(index);
5089 return subsolverParams_.get(index);
5093 private boolean interleaveSearch_ =
false;
5109 return ((bitField2_ & 0x02000000) != 0);
5126 return interleaveSearch_;
5130 private int interleaveBatchSize_ = 0;
5137 return ((bitField2_ & 0x04000000) != 0);
5145 return interleaveBatchSize_;
5149 private boolean shareObjectiveBounds_ =
true;
5160 return ((bitField2_ & 0x08000000) != 0);
5172 return shareObjectiveBounds_;
5176 private boolean shareLevelZeroBounds_ =
true;
5187 return ((bitField2_ & 0x10000000) != 0);
5199 return shareLevelZeroBounds_;
5203 private boolean shareBinaryClauses_ =
true;
5214 return ((bitField2_ & 0x20000000) != 0);
5226 return shareBinaryClauses_;
5230 private boolean debugPostsolveWithFullSolver_ =
false;
5243 return ((bitField2_ & 0x40000000) != 0);
5257 return debugPostsolveWithFullSolver_;
5261 private int debugMaxNumPresolveOperations_ = 0;
5273 return ((bitField2_ & 0x80000000) != 0);
5286 return debugMaxNumPresolveOperations_;
5290 private boolean debugCrashOnBadHint_ =
false;
5301 return ((bitField3_ & 0x00000001) != 0);
5313 return debugCrashOnBadHint_;
5317 private boolean useOptimizationHints_ =
true;
5331 return ((bitField3_ & 0x00000002) != 0);
5346 return useOptimizationHints_;
5350 private boolean minimizeCore_ =
true;
5361 return ((bitField3_ & 0x00000004) != 0);
5373 return minimizeCore_;
5377 private boolean findMultipleCores_ =
true;
5389 return ((bitField3_ & 0x00000008) != 0);
5402 return findMultipleCores_;
5406 private boolean coverOptimization_ =
true;
5419 return ((bitField3_ & 0x00000010) != 0);
5433 return coverOptimization_;
5437 private int maxSatAssumptionOrder_ = 0;
5443 return ((bitField3_ & 0x00000020) != 0);
5451 return result ==
null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
5455 private boolean maxSatReverseAssumptionOrder_ =
false;
5467 return ((bitField3_ & 0x00000040) != 0);
5480 return maxSatReverseAssumptionOrder_;
5484 private int maxSatStratification_ = 1;
5490 return ((bitField3_ & 0x00000080) != 0);
5498 return result ==
null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
5502 private double propagationLoopDetectionFactor_ = 10D;
5521 return ((bitField3_ & 0x00000100) != 0);
5541 return propagationLoopDetectionFactor_;
5545 private boolean usePrecedencesInDisjunctiveConstraint_ =
true;
5564 return ((bitField3_ & 0x00000200) != 0);
5584 return usePrecedencesInDisjunctiveConstraint_;
5588 private int maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
5603 return ((bitField3_ & 0x00000400) != 0);
5619 return maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
5623 private boolean useStrongPropagationInDisjunctive_ =
false;
5634 return ((bitField3_ & 0x00000800) != 0);
5646 return useStrongPropagationInDisjunctive_;
5650 private boolean useOverloadCheckerInCumulative_ =
false;
5667 return ((bitField3_ & 0x00001000) != 0);
5685 return useOverloadCheckerInCumulative_;
5689 private boolean useTimetableEdgeFindingInCumulative_ =
false;
5706 return ((bitField3_ & 0x00002000) != 0);
5724 return useTimetableEdgeFindingInCumulative_;
5728 private boolean useHardPrecedencesInCumulative_ =
false;
5744 return ((bitField3_ & 0x00004000) != 0);
5761 return useHardPrecedencesInCumulative_;
5765 private boolean exploitAllPrecedences_ =
false;
5772 return ((bitField3_ & 0x00008000) != 0);
5780 return exploitAllPrecedences_;
5784 private boolean useDisjunctiveConstraintInCumulative_ =
true;
5804 return ((bitField3_ & 0x00010000) != 0);
5825 return useDisjunctiveConstraintInCumulative_;
5829 private boolean useTimetablingInNoOverlap2D_ =
false;
5844 return ((bitField3_ & 0x00020000) != 0);
5860 return useTimetablingInNoOverlap2D_;
5864 private boolean useEnergeticReasoningInNoOverlap2D_ =
false;
5877 return ((bitField3_ & 0x00040000) != 0);
5891 return useEnergeticReasoningInNoOverlap2D_;
5895 private boolean usePairwiseReasoningInNoOverlap2D_ =
false;
5907 return ((bitField3_ & 0x00080000) != 0);
5920 return usePairwiseReasoningInNoOverlap2D_;
5924 private boolean useDualSchedulingHeuristics_ =
true;
5937 return ((bitField3_ & 0x00100000) != 0);
5951 return useDualSchedulingHeuristics_;
5955 private int linearizationLevel_ = 1;
5969 return ((bitField3_ & 0x00200000) != 0);
5984 return linearizationLevel_;
5988 private int booleanEncodingLevel_ = 1;
6000 return ((bitField3_ & 0x00400000) != 0);
6013 return booleanEncodingLevel_;
6017 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
6031 return ((bitField3_ & 0x00800000) != 0);
6046 return maxDomainSizeWhenEncodingEqNeqConstraints_;
6050 private int maxNumCuts_ = 10000;
6065 return ((bitField3_ & 0x01000000) != 0);
6085 private int cutLevel_ = 1;
6098 return ((bitField3_ & 0x02000000) != 0);
6116 private boolean onlyAddCutsAtLevelZero_ =
false;
6128 return ((bitField3_ & 0x04000000) != 0);
6141 return onlyAddCutsAtLevelZero_;
6145 private boolean addObjectiveCut_ =
false;
6160 return ((bitField3_ & 0x08000000) != 0);
6176 return addObjectiveCut_;
6180 private boolean addCgCuts_ =
true;
6192 return ((bitField3_ & 0x10000000) != 0);
6209 private boolean addMirCuts_ =
true;
6221 return ((bitField3_ & 0x20000000) != 0);
6238 private boolean addZeroHalfCuts_ =
true;
6250 return ((bitField3_ & 0x40000000) != 0);
6263 return addZeroHalfCuts_;
6267 private boolean addCliqueCuts_ =
true;
6280 return ((bitField3_ & 0x80000000) != 0);
6294 return addCliqueCuts_;
6298 private int maxAllDiffCutSize_ = 64;
6311 return ((bitField4_ & 0x00000001) != 0);
6325 return maxAllDiffCutSize_;
6329 private boolean addLinMaxCuts_ =
true;
6342 return ((bitField4_ & 0x00000002) != 0);
6356 return addLinMaxCuts_;
6360 private int maxIntegerRoundingScaling_ = 600;
6378 return ((bitField4_ & 0x00000004) != 0);
6397 return maxIntegerRoundingScaling_;
6401 private boolean addLpConstraintsLazily_ =
true;
6415 return ((bitField4_ & 0x00000008) != 0);
6430 return addLpConstraintsLazily_;
6434 private int rootLpIterations_ = 2000;
6448 return ((bitField4_ & 0x00000010) != 0);
6463 return rootLpIterations_;
6467 private double minOrthogonalityForLpConstraints_ = 0.05D;
6482 return ((bitField4_ & 0x00000020) != 0);
6498 return minOrthogonalityForLpConstraints_;
6502 private int maxCutRoundsAtLevelZero_ = 1;
6513 return ((bitField4_ & 0x00000040) != 0);
6525 return maxCutRoundsAtLevelZero_;
6529 private int maxConsecutiveInactiveCount_ = 100;
6542 return ((bitField4_ & 0x00000080) != 0);
6556 return maxConsecutiveInactiveCount_;
6560 private double cutMaxActiveCountValue_ = 10000000000D;
6573 return ((bitField4_ & 0x00000100) != 0);
6587 return cutMaxActiveCountValue_;
6591 private double cutActiveCountDecay_ = 0.8D;
6598 return ((bitField4_ & 0x00000200) != 0);
6606 return cutActiveCountDecay_;
6610 private int cutCleanupTarget_ = 1000;
6621 return ((bitField4_ & 0x00000400) != 0);
6633 return cutCleanupTarget_;
6637 private int newConstraintsBatchSize_ = 50;
6649 return ((bitField4_ & 0x00000800) != 0);
6662 return newConstraintsBatchSize_;
6666 private int searchBranching_ = 0;
6672 return ((bitField4_ & 0x00001000) != 0);
6680 return result ==
null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
6684 private int hintConflictLimit_ = 10;
6695 return ((bitField4_ & 0x00002000) != 0);
6707 return hintConflictLimit_;
6711 private boolean repairHint_ =
false;
6725 return ((bitField4_ & 0x00004000) != 0);
6744 private boolean fixVariablesToTheirHintedValue_ =
false;
6756 return ((bitField4_ & 0x00008000) != 0);
6769 return fixVariablesToTheirHintedValue_;
6773 private boolean exploitIntegerLpSolution_ =
true;
6787 return ((bitField4_ & 0x00010000) != 0);
6802 return exploitIntegerLpSolution_;
6806 private boolean exploitAllLpSolution_ =
true;
6819 return ((bitField4_ & 0x00020000) != 0);
6833 return exploitAllLpSolution_;
6837 private boolean exploitBestSolution_ =
false;
6848 return ((bitField4_ & 0x00040000) != 0);
6860 return exploitBestSolution_;
6864 private boolean exploitRelaxationSolution_ =
false;
6877 return ((bitField4_ & 0x00080000) != 0);
6891 return exploitRelaxationSolution_;
6895 private boolean exploitObjective_ =
true;
6907 return ((bitField4_ & 0x00100000) != 0);
6920 return exploitObjective_;
6924 private long probingPeriodAtRoot_ = 0L;
6937 return ((bitField4_ & 0x00200000) != 0);
6951 return probingPeriodAtRoot_;
6955 private boolean useProbingSearch_ =
false;
6968 return ((bitField4_ & 0x00400000) != 0);
6982 return useProbingSearch_;
6986 private boolean useShavingInProbingSearch_ =
true;
6998 return ((bitField4_ & 0x00800000) != 0);
7011 return useShavingInProbingSearch_;
7015 private double shavingSearchDeterministicTime_ = 0.001D;
7027 return ((bitField4_ & 0x01000000) != 0);
7040 return shavingSearchDeterministicTime_;
7044 private boolean useObjectiveLbSearch_ =
false;
7056 return ((bitField4_ & 0x02000000) != 0);
7069 return useObjectiveLbSearch_;
7073 private boolean useObjectiveShavingSearch_ =
false;
7086 return ((bitField4_ & 0x04000000) != 0);
7100 return useObjectiveShavingSearch_;
7104 private long pseudoCostReliabilityThreshold_ = 100L;
7116 return ((bitField4_ & 0x08000000) != 0);
7129 return pseudoCostReliabilityThreshold_;
7133 private boolean optimizeWithCore_ =
false;
7147 return ((bitField4_ & 0x10000000) != 0);
7162 return optimizeWithCore_;
7166 private boolean optimizeWithLbTreeSearch_ =
false;
7181 return ((bitField4_ & 0x20000000) != 0);
7197 return optimizeWithLbTreeSearch_;
7201 private int binarySearchNumConflicts_ = -1;
7215 return ((bitField4_ & 0x40000000) != 0);
7230 return binarySearchNumConflicts_;
7234 private boolean optimizeWithMaxHs_ =
false;
7250 return ((bitField4_ & 0x80000000) != 0);
7267 return optimizeWithMaxHs_;
7271 private boolean testFeasibilityJump_ =
false;
7286 return ((bitField5_ & 0x00000001) != 0);
7302 return testFeasibilityJump_;
7306 private long feasibilityJumpMaxNumValuesScanned_ = 4096L;
7318 return ((bitField5_ & 0x00000002) != 0);
7331 return feasibilityJumpMaxNumValuesScanned_;
7335 private boolean feasibilityJumpProtectLinearFeasibility_ =
true;
7349 return ((bitField5_ & 0x00000004) != 0);
7364 return feasibilityJumpProtectLinearFeasibility_;
7368 private double feasibilityJumpDecay_ = 1D;
7380 return ((bitField5_ & 0x00000008) != 0);
7393 return feasibilityJumpDecay_;
7397 private double feasibilityJumpVarRandomizationProbability_ = 0D;
7409 return ((bitField5_ & 0x00000010) != 0);
7422 return feasibilityJumpVarRandomizationProbability_;
7426 private double feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
7438 return ((bitField5_ & 0x00000020) != 0);
7451 return feasibilityJumpVarPerburbationRangeRatio_;
7455 private boolean feasibilityJumpEnableRestarts_ =
true;
7468 return ((bitField5_ & 0x00000040) != 0);
7482 return feasibilityJumpEnableRestarts_;
7486 private int numViolationLs_ = 0;
7499 return ((bitField5_ & 0x00000080) != 0);
7513 return numViolationLs_;
7517 private int violationLsPerturbationPeriod_ = 100;
7528 return ((bitField5_ & 0x00000100) != 0);
7540 return violationLsPerturbationPeriod_;
7544 private int sharedTreeNumWorkers_ = 0;
7559 return ((bitField5_ & 0x00000200) != 0);
7575 return sharedTreeNumWorkers_;
7579 private boolean useSharedTreeSearch_ =
false;
7590 return ((bitField5_ & 0x00000400) != 0);
7602 return useSharedTreeSearch_;
7606 private double sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
7619 return ((bitField5_ & 0x00000800) != 0);
7633 return sharedTreeWorkerObjectiveSplitProbability_;
7637 private int sharedTreeMaxNodesPerWorker_ = 128;
7651 return ((bitField5_ & 0x00001000) != 0);
7666 return sharedTreeMaxNodesPerWorker_;
7670 private int sharedTreeSplitStrategy_ = 0;
7676 return ((bitField5_ & 0x00002000) != 0);
7684 return result ==
null ? com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.SPLIT_STRATEGY_AUTO : result;
7688 private boolean enumerateAllSolutions_ =
false;
7705 return ((bitField5_ & 0x00004000) != 0);
7723 return enumerateAllSolutions_;
7727 private boolean keepAllFeasibleSolutionsInPresolve_ =
false;
7745 return ((bitField5_ & 0x00008000) != 0);
7764 return keepAllFeasibleSolutionsInPresolve_;
7768 private boolean fillTightenedDomainsInResponse_ =
false;
7783 return ((bitField5_ & 0x00010000) != 0);
7799 return fillTightenedDomainsInResponse_;
7803 private boolean fillAdditionalSolutionsInResponse_ =
false;
7823 return ((bitField5_ & 0x00020000) != 0);
7844 return fillAdditionalSolutionsInResponse_;
7848 private boolean instantiateAllVariables_ =
true;
7862 return ((bitField5_ & 0x00040000) != 0);
7877 return instantiateAllVariables_;
7881 private boolean autoDetectGreaterThanAtLeastOneOf_ =
true;
7895 return ((bitField5_ & 0x00080000) != 0);
7910 return autoDetectGreaterThanAtLeastOneOf_;
7914 private boolean stopAfterFirstSolution_ =
false;
7925 return ((bitField5_ & 0x00100000) != 0);
7937 return stopAfterFirstSolution_;
7941 private boolean stopAfterPresolve_ =
false;
7953 return ((bitField5_ & 0x00200000) != 0);
7966 return stopAfterPresolve_;
7970 private boolean stopAfterRootPropagation_ =
false;
7977 return ((bitField5_ & 0x00400000) != 0);
7985 return stopAfterRootPropagation_;
7989 private boolean useLnsOnly_ =
false;
8000 return ((bitField5_ & 0x00800000) != 0);
8016 private int solutionPoolSize_ = 3;
8029 return ((bitField5_ & 0x01000000) != 0);
8043 return solutionPoolSize_;
8047 private boolean useRinsLns_ =
true;
8058 return ((bitField5_ & 0x02000000) != 0);
8074 private boolean useFeasibilityPump_ =
true;
8085 return ((bitField5_ & 0x04000000) != 0);
8097 return useFeasibilityPump_;
8101 private boolean useLbRelaxLns_ =
false;
8114 return ((bitField5_ & 0x08000000) != 0);
8128 return useLbRelaxLns_;
8132 private int fpRounding_ = 2;
8138 return ((bitField5_ & 0x10000000) != 0);
8146 return result ==
null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
8150 private boolean diversifyLnsParams_ =
false;
8161 return ((bitField5_ & 0x20000000) != 0);
8173 return diversifyLnsParams_;
8177 private boolean randomizeSearch_ =
false;
8188 return ((bitField5_ & 0x40000000) != 0);
8200 return randomizeSearch_;
8204 private long searchRandomizationTolerance_ = 0L;
8221 return ((bitField5_ & 0x80000000) != 0);
8239 return searchRandomizationTolerance_;
8243 private boolean useOptionalVariables_ =
false;
8259 return ((bitField6_ & 0x00000001) != 0);
8276 return useOptionalVariables_;
8280 private boolean useExactLpReason_ =
true;
8294 return ((bitField6_ & 0x00000002) != 0);
8309 return useExactLpReason_;
8313 private boolean useBranchingInLp_ =
false;
8326 return ((bitField6_ & 0x00000004) != 0);
8340 return useBranchingInLp_;
8344 private boolean useCombinedNoOverlap_ =
false;
8357 return ((bitField6_ & 0x00000008) != 0);
8371 return useCombinedNoOverlap_;
8375 private boolean catchSigintSignal_ =
true;
8388 return ((bitField6_ & 0x00000010) != 0);
8402 return catchSigintSignal_;
8406 private boolean useImpliedBounds_ =
true;
8419 return ((bitField6_ & 0x00000020) != 0);
8433 return useImpliedBounds_;
8437 private boolean polishLpSolution_ =
false;
8451 return ((bitField6_ & 0x00000040) != 0);
8466 return polishLpSolution_;
8470 private boolean convertIntervals_ =
true;
8483 return ((bitField6_ & 0x00000080) != 0);
8497 return convertIntervals_;
8501 private int symmetryLevel_ = 2;
8515 return ((bitField6_ & 0x00000100) != 0);
8530 return symmetryLevel_;
8534 private boolean newLinearPropagation_ =
false;
8545 return ((bitField6_ & 0x00000200) != 0);
8557 return newLinearPropagation_;
8561 private int linearSplitSize_ = 100;
8574 return ((bitField6_ & 0x00000400) != 0);
8588 return linearSplitSize_;
8592 private double mipMaxBound_ = 10000000D;
8605 return ((bitField6_ & 0x00000800) != 0);
8619 return mipMaxBound_;
8623 private double mipVarScaling_ = 1D;
8636 return ((bitField6_ & 0x00001000) != 0);
8650 return mipVarScaling_;
8654 private boolean mipScaleLargeDomain_ =
false;
8667 return ((bitField6_ & 0x00002000) != 0);
8681 return mipScaleLargeDomain_;
8685 private boolean mipAutomaticallyScaleVariables_ =
true;
8700 return ((bitField6_ & 0x00004000) != 0);
8716 return mipAutomaticallyScaleVariables_;
8720 private boolean onlySolveIp_ =
false;
8742 return ((bitField6_ & 0x00008000) != 0);
8765 return onlySolveIp_;
8769 private double mipWantedPrecision_ = 1e-06D;
8796 return ((bitField6_ & 0x00010000) != 0);
8824 return mipWantedPrecision_;
8828 private int mipMaxActivityExponent_ = 53;
8846 return ((bitField6_ & 0x00020000) != 0);
8865 return mipMaxActivityExponent_;
8869 private double mipCheckPrecision_ = 0.0001D;
8882 return ((bitField6_ & 0x00040000) != 0);
8896 return mipCheckPrecision_;
8900 private boolean mipComputeTrueObjectiveBound_ =
true;
8915 return ((bitField6_ & 0x00080000) != 0);
8931 return mipComputeTrueObjectiveBound_;
8935 private double mipMaxValidMagnitude_ = 1e+30D;
8950 return ((bitField6_ & 0x00100000) != 0);
8966 return mipMaxValidMagnitude_;
8970 private double mipDropTolerance_ = 1e-16D;
8982 return ((bitField6_ & 0x00200000) != 0);
8995 return mipDropTolerance_;
8998 private byte memoizedIsInitialized = -1;
9005 memoizedIsInitialized = 1;
9010 public void writeTo(com.google.protobuf.CodedOutputStream output)
9011 throws java.io.IOException {
9012 if (((bitField0_ & 0x00000002) != 0)) {
9013 output.writeEnum(1, preferredVariableOrder_);
9015 if (((bitField0_ & 0x00000004) != 0)) {
9016 output.writeEnum(2, initialPolarity_);
9018 if (((bitField0_ & 0x00000400) != 0)) {
9019 output.writeEnum(4, minimizationAlgorithm_);
9021 if (((bitField0_ & 0x00002000) != 0)) {
9022 output.writeInt32(11, clauseCleanupPeriod_);
9024 if (((bitField0_ & 0x00004000) != 0)) {
9025 output.writeInt32(13, clauseCleanupTarget_);
9027 if (((bitField0_ & 0x00800000) != 0)) {
9028 output.writeDouble(15, variableActivityDecay_);
9030 if (((bitField0_ & 0x01000000) != 0)) {
9031 output.writeDouble(16, maxVariableActivityValue_);
9033 if (((bitField0_ & 0x10000000) != 0)) {
9034 output.writeDouble(17, clauseActivityDecay_);
9036 if (((bitField0_ & 0x20000000) != 0)) {
9037 output.writeDouble(18, maxClauseActivityValue_);
9039 if (((bitField0_ & 0x02000000) != 0)) {
9040 output.writeDouble(22, glucoseMaxDecay_);
9042 if (((bitField0_ & 0x04000000) != 0)) {
9043 output.writeDouble(23, glucoseDecayIncrement_);
9045 if (((bitField0_ & 0x08000000) != 0)) {
9046 output.writeInt32(24, glucoseDecayIncrementPeriod_);
9048 if (((bitField0_ & 0x80000000) != 0)) {
9049 output.writeInt32(30, restartPeriod_);
9051 if (((bitField1_ & 0x00004000) != 0)) {
9052 output.writeInt32(31, randomSeed_);
9054 if (((bitField0_ & 0x00000040) != 0)) {
9055 output.writeDouble(32, randomBranchesRatio_);
9057 if (((bitField0_ & 0x00000800) != 0)) {
9058 output.writeEnum(34, binaryMinimizationAlgorithm_);
9060 if (((bitField3_ & 0x00000002) != 0)) {
9061 output.writeBool(35, useOptimizationHints_);
9063 if (((bitField1_ & 0x00000100) != 0)) {
9064 output.writeDouble(36, maxTimeInSeconds_);
9066 if (((bitField1_ & 0x00000400) != 0)) {
9067 output.writeInt64(37, maxNumberOfConflicts_);
9069 if (((bitField1_ & 0x00000800) != 0)) {
9070 output.writeInt64(40, maxMemoryInMb_);
9072 if (((bitField1_ & 0x00040000) != 0)) {
9073 output.writeBool(41, logSearchProgress_);
9075 if (((bitField1_ & 0x02000000) != 0)) {
9076 output.writeBool(43, usePbResolution_);
9078 if (((bitField0_ & 0x00000008) != 0)) {
9079 output.writeBool(44, usePhaseSaving_);
9081 if (((bitField0_ & 0x00000020) != 0)) {
9082 output.writeDouble(45, randomPolarityRatio_);
9084 if (((bitField0_ & 0x00080000) != 0)) {
9085 output.writeInt32(46, pbCleanupIncrement_);
9087 if (((bitField0_ & 0x00100000) != 0)) {
9088 output.writeDouble(47, pbCleanupRatio_);
9090 if (((bitField1_ & 0x04000000) != 0)) {
9091 output.writeBool(48, minimizeReductionDuringPbResolution_);
9093 if (((bitField1_ & 0x08000000) != 0)) {
9094 output.writeBool(49, countAssumptionLevelsInLbd_);
9096 if (((bitField3_ & 0x00000004) != 0)) {
9097 output.writeBool(50, minimizeCore_);
9099 if (((bitField3_ & 0x00000020) != 0)) {
9100 output.writeEnum(51, maxSatAssumptionOrder_);
9102 if (((bitField3_ & 0x00000040) != 0)) {
9103 output.writeBool(52, maxSatReverseAssumptionOrder_);
9105 if (((bitField3_ & 0x00000080) != 0)) {
9106 output.writeEnum(53, maxSatStratification_);
9108 if (((bitField1_ & 0x10000000) != 0)) {
9109 output.writeInt32(54, presolveBveThreshold_);
9111 if (((bitField1_ & 0x20000000) != 0)) {
9112 output.writeInt32(55, presolveBveClauseWeight_);
9114 if (((bitField0_ & 0x00001000) != 0)) {
9115 output.writeBool(56, subsumptionDuringConflictAnalysis_);
9117 if (((bitField1_ & 0x80000000) != 0)) {
9118 output.writeDouble(57, presolveProbingDeterministicTimeLimit_);
9120 if (((bitField0_ & 0x00010000) != 0)) {
9121 output.writeEnum(58, clauseCleanupProtection_);
9123 if (((bitField0_ & 0x00020000) != 0)) {
9124 output.writeInt32(59, clauseCleanupLbdBound_);
9126 if (((bitField0_ & 0x00040000) != 0)) {
9127 output.writeEnum(60, clauseCleanupOrdering_);
9129 for (
int i = 0; i < restartAlgorithms_.size(); i++) {
9130 output.writeEnum(61, restartAlgorithms_.get(i));
9132 if (((bitField1_ & 0x00000001) != 0)) {
9133 output.writeInt32(62, restartRunningWindowSize_);
9135 if (((bitField1_ & 0x00000002) != 0)) {
9136 output.writeDouble(63, restartDlAverageRatio_);
9138 if (((bitField1_ & 0x00000008) != 0)) {
9139 output.writeBool(64, useBlockingRestart_);
9141 if (((bitField1_ & 0x00000010) != 0)) {
9142 output.writeInt32(65, blockingRestartWindowSize_);
9144 if (((bitField1_ & 0x00000020) != 0)) {
9145 output.writeDouble(66, blockingRestartMultiplier_);
9147 if (((bitField1_ & 0x00000200) != 0)) {
9148 output.writeDouble(67, maxDeterministicTime_);
9150 if (((bitField1_ & 0x00000040) != 0)) {
9151 output.writeInt32(68, numConflictsBeforeStrategyChanges_);
9153 if (((bitField1_ & 0x00000080) != 0)) {
9154 output.writeDouble(69, strategyChangeIncreaseRatio_);
9156 if (((bitField0_ & 0x40000000) != 0)) {
9157 com.google.protobuf.GeneratedMessageV3.writeString(output, 70, defaultRestartAlgorithms_);
9159 if (((bitField1_ & 0x00000004) != 0)) {
9160 output.writeDouble(71, restartLbdAverageRatio_);
9162 if (((bitField2_ & 0x00000002) != 0)) {
9163 output.writeBool(72, presolveUseBva_);
9165 if (((bitField2_ & 0x00000004) != 0)) {
9166 output.writeInt32(73, presolveBvaThreshold_);
9168 if (((bitField3_ & 0x00000200) != 0)) {
9169 output.writeBool(74, usePrecedencesInDisjunctiveConstraint_);
9171 if (((bitField0_ & 0x00000080) != 0)) {
9172 output.writeBool(75, useErwaHeuristic_);
9174 if (((bitField0_ & 0x00000100) != 0)) {
9175 output.writeDouble(76, initialVariablesActivity_);
9177 if (((bitField0_ & 0x00000200) != 0)) {
9178 output.writeBool(77, alsoBumpVariablesInConflictReasons_);
9180 if (((bitField3_ & 0x00001000) != 0)) {
9181 output.writeBool(78, useOverloadCheckerInCumulative_);
9183 if (((bitField3_ & 0x00002000) != 0)) {
9184 output.writeBool(79, useTimetableEdgeFindingInCumulative_);
9186 if (((bitField3_ & 0x00010000) != 0)) {
9187 output.writeBool(80, useDisjunctiveConstraintInCumulative_);
9189 if (((bitField4_ & 0x00001000) != 0)) {
9190 output.writeEnum(82, searchBranching_);
9192 if (((bitField4_ & 0x10000000) != 0)) {
9193 output.writeBool(83, optimizeWithCore_);
9195 if (((bitField3_ & 0x00000008) != 0)) {
9196 output.writeBool(84, findMultipleCores_);
9198 if (((bitField4_ & 0x80000000) != 0)) {
9199 output.writeBool(85, optimizeWithMaxHs_);
9201 if (((bitField2_ & 0x00000010) != 0)) {
9202 output.writeBool(86, cpModelPresolve_);
9204 if (((bitField5_ & 0x00004000) != 0)) {
9205 output.writeBool(87, enumerateAllSolutions_);
9207 if (((bitField2_ & 0x00000001) != 0)) {
9208 output.writeBool(88, presolveBlockedClause_);
9210 if (((bitField3_ & 0x00000010) != 0)) {
9211 output.writeBool(89, coverOptimization_);
9213 if (((bitField3_ & 0x00200000) != 0)) {
9214 output.writeInt32(90, linearizationLevel_);
9216 if (((bitField3_ & 0x01000000) != 0)) {
9217 output.writeInt32(91, maxNumCuts_);
9219 if (((bitField3_ & 0x04000000) != 0)) {
9220 output.writeBool(92, onlyAddCutsAtLevelZero_);
9222 if (((bitField2_ & 0x00000040) != 0)) {
9223 output.writeBool(93, cpModelUseSatPresolve_);
9225 if (((bitField4_ & 0x00010000) != 0)) {
9226 output.writeBool(94, exploitIntegerLpSolution_);
9228 if (((bitField5_ & 0x00080000) != 0)) {
9229 output.writeBool(95, autoDetectGreaterThanAtLeastOneOf_);
9231 if (((bitField0_ & 0x00200000) != 0)) {
9232 output.writeInt32(96, minimizeWithPropagationRestartPeriod_);
9234 if (((bitField0_ & 0x00400000) != 0)) {
9235 output.writeInt32(97, minimizeWithPropagationNumDecisions_);
9237 if (((bitField5_ & 0x00100000) != 0)) {
9238 output.writeBool(98, stopAfterFirstSolution_);
9240 if (((bitField4_ & 0x40000000) != 0)) {
9241 output.writeInt32(99, binarySearchNumConflicts_);
9243 if (((bitField2_ & 0x00800000) != 0)) {
9244 output.writeInt32(100, numSearchWorkers_);
9246 if (((bitField5_ & 0x00800000) != 0)) {
9247 output.writeBool(101, useLnsOnly_);
9249 if (((bitField5_ & 0x40000000) != 0)) {
9250 output.writeBool(103, randomizeSearch_);
9252 if (((bitField5_ & 0x80000000) != 0)) {
9253 output.writeInt64(104, searchRandomizationTolerance_);
9255 if (((bitField5_ & 0x00040000) != 0)) {
9256 output.writeBool(106, instantiateAllVariables_);
9258 if (((bitField3_ & 0x00400000) != 0)) {
9259 output.writeInt32(107, booleanEncodingLevel_);
9261 if (((bitField6_ & 0x00000001) != 0)) {
9262 output.writeBool(108, useOptionalVariables_);
9264 if (((bitField6_ & 0x00000002) != 0)) {
9265 output.writeBool(109, useExactLpReason_);
9267 if (((bitField2_ & 0x00000020) != 0)) {
9268 output.writeInt32(110, cpModelProbingLevel_);
9270 if (((bitField4_ & 0x00000008) != 0)) {
9271 output.writeBool(112, addLpConstraintsLazily_);
9273 if (((bitField2_ & 0x08000000) != 0)) {
9274 output.writeBool(113, shareObjectiveBounds_);
9276 if (((bitField2_ & 0x10000000) != 0)) {
9277 output.writeBool(114, shareLevelZeroBounds_);
9279 if (((bitField4_ & 0x00000020) != 0)) {
9280 output.writeDouble(115, minOrthogonalityForLpConstraints_);
9282 if (((bitField4_ & 0x00020000) != 0)) {
9283 output.writeBool(116, exploitAllLpSolution_);
9285 if (((bitField3_ & 0x10000000) != 0)) {
9286 output.writeBool(117, addCgCuts_);
9288 if (((bitField4_ & 0x00000004) != 0)) {
9289 output.writeInt32(119, maxIntegerRoundingScaling_);
9291 if (((bitField3_ & 0x20000000) != 0)) {
9292 output.writeBool(120, addMirCuts_);
9294 if (((bitField4_ & 0x00000080) != 0)) {
9295 output.writeInt32(121, maxConsecutiveInactiveCount_);
9297 if (((bitField4_ & 0x00000800) != 0)) {
9298 output.writeInt32(122, newConstraintsBatchSize_);
9300 if (((bitField4_ & 0x08000000) != 0)) {
9301 output.writeInt64(123, pseudoCostReliabilityThreshold_);
9303 if (((bitField6_ & 0x00000800) != 0)) {
9304 output.writeDouble(124, mipMaxBound_);
9306 if (((bitField6_ & 0x00001000) != 0)) {
9307 output.writeDouble(125, mipVarScaling_);
9309 if (((bitField6_ & 0x00010000) != 0)) {
9310 output.writeDouble(126, mipWantedPrecision_);
9312 if (((bitField6_ & 0x00020000) != 0)) {
9313 output.writeInt32(127, mipMaxActivityExponent_);
9315 if (((bitField6_ & 0x00040000) != 0)) {
9316 output.writeDouble(128, mipCheckPrecision_);
9318 if (((bitField5_ & 0x02000000) != 0)) {
9319 output.writeBool(129, useRinsLns_);
9321 if (((bitField4_ & 0x00040000) != 0)) {
9322 output.writeBool(130, exploitBestSolution_);
9324 if (((bitField4_ & 0x00100000) != 0)) {
9325 output.writeBool(131, exploitObjective_);
9327 if (((bitField5_ & 0x00010000) != 0)) {
9328 output.writeBool(132, fillTightenedDomainsInResponse_);
9330 if (((bitField6_ & 0x00000008) != 0)) {
9331 output.writeBool(133, useCombinedNoOverlap_);
9333 if (((bitField2_ & 0x04000000) != 0)) {
9334 output.writeInt32(134, interleaveBatchSize_);
9336 if (((bitField6_ & 0x00000010) != 0)) {
9337 output.writeBool(135, catchSigintSignal_);
9339 if (((bitField2_ & 0x02000000) != 0)) {
9340 output.writeBool(136, interleaveSearch_);
9342 if (((bitField5_ & 0x20000000) != 0)) {
9343 output.writeBool(137, diversifyLnsParams_);
9345 if (((bitField2_ & 0x00000008) != 0)) {
9346 output.writeInt32(138, maxPresolveIterations_);
9348 if (((bitField6_ & 0x00000004) != 0)) {
9349 output.writeBool(139, useBranchingInLp_);
9351 if (((bitField4_ & 0x00200000) != 0)) {
9352 output.writeInt64(142, probingPeriodAtRoot_);
9354 if (((bitField6_ & 0x00000020) != 0)) {
9355 output.writeBool(144, useImpliedBounds_);
9357 if (((bitField2_ & 0x00004000) != 0)) {
9358 output.writeDouble(145, mergeNoOverlapWorkLimit_);
9360 if (((bitField2_ & 0x00008000) != 0)) {
9361 output.writeDouble(146, mergeAtMostOneWorkLimit_);
9363 if (((bitField2_ & 0x00010000) != 0)) {
9364 output.writeInt32(147, presolveSubstitutionLevel_);
9366 if (((bitField4_ & 0x00000001) != 0)) {
9367 output.writeInt32(148, maxAllDiffCutSize_);
9369 if (((bitField5_ & 0x00200000) != 0)) {
9370 output.writeBool(149, stopAfterPresolve_);
9372 if (((bitField2_ & 0x80000000) != 0)) {
9373 output.writeInt32(151, debugMaxNumPresolveOperations_);
9375 if (((bitField4_ & 0x00000002) != 0)) {
9376 output.writeBool(152, addLinMaxCuts_);
9378 if (((bitField4_ & 0x00002000) != 0)) {
9379 output.writeInt32(153, hintConflictLimit_);
9381 if (((bitField4_ & 0x00000040) != 0)) {
9382 output.writeInt32(154, maxCutRoundsAtLevelZero_);
9384 if (((bitField4_ & 0x00000100) != 0)) {
9385 output.writeDouble(155, cutMaxActiveCountValue_);
9387 if (((bitField4_ & 0x00000200) != 0)) {
9388 output.writeDouble(156, cutActiveCountDecay_);
9390 if (((bitField4_ & 0x00000400) != 0)) {
9391 output.writeInt32(157, cutCleanupTarget_);
9393 if (((bitField1_ & 0x00001000) != 0)) {
9394 output.writeDouble(159, absoluteGapLimit_);
9396 if (((bitField1_ & 0x00002000) != 0)) {
9397 output.writeDouble(160, relativeGapLimit_);
9399 if (((bitField4_ & 0x00080000) != 0)) {
9400 output.writeBool(161, exploitRelaxationSolution_);
9402 if (((bitField2_ & 0x40000000) != 0)) {
9403 output.writeBool(162, debugPostsolveWithFullSolver_);
9405 if (((bitField2_ & 0x00000080) != 0)) {
9406 output.writeBool(163, useSatInprocessing_);
9408 if (((bitField5_ & 0x04000000) != 0)) {
9409 output.writeBool(164, useFeasibilityPump_);
9411 if (((bitField5_ & 0x10000000) != 0)) {
9412 output.writeEnum(165, fpRounding_);
9414 if (((bitField6_ & 0x00004000) != 0)) {
9415 output.writeBool(166, mipAutomaticallyScaleVariables_);
9417 if (((bitField4_ & 0x00004000) != 0)) {
9418 output.writeBool(167, repairHint_);
9420 if (((bitField0_ & 0x00000010) != 0)) {
9421 output.writeInt32(168, polarityRephaseIncrement_);
9423 if (((bitField3_ & 0x40000000) != 0)) {
9424 output.writeBool(169, addZeroHalfCuts_);
9426 if (((bitField2_ & 0x00000400) != 0)) {
9427 output.writeBool(170, expandAlldiffConstraints_);
9429 if (((bitField0_ & 0x00000001) != 0)) {
9430 com.google.protobuf.GeneratedMessageV3.writeString(output, 171, name_);
9432 if (((bitField3_ & 0x80000000) != 0)) {
9433 output.writeBool(172, addCliqueCuts_);
9435 if (((bitField5_ & 0x00008000) != 0)) {
9436 output.writeBool(173, keepAllFeasibleSolutionsInPresolve_);
9438 if (((bitField2_ & 0x00020000) != 0)) {
9439 output.writeBool(174, presolveExtractIntegerEnforcement_);
9441 if (((bitField6_ & 0x00000040) != 0)) {
9442 output.writeBool(175, polishLpSolution_);
9444 if (((bitField4_ & 0x00400000) != 0)) {
9445 output.writeBool(176, useProbingSearch_);
9447 if (((bitField6_ & 0x00000080) != 0)) {
9448 output.writeBool(177, convertIntervals_);
9450 if (((bitField1_ & 0x00008000) != 0)) {
9451 output.writeBool(178, permuteVariableRandomly_);
9453 if (((bitField1_ & 0x00010000) != 0)) {
9454 output.writeBool(179, permutePresolveConstraintOrder_);
9456 if (((bitField1_ & 0x00020000) != 0)) {
9457 output.writeBool(180, useAbslRandom_);
9459 if (((bitField2_ & 0x00001000) != 0)) {
9460 output.writeBool(181, disableConstraintExpansion_);
9462 if (((bitField2_ & 0x00000800) != 0)) {
9463 output.writeBool(182, expandReservoirConstraints_);
9465 if (((bitField6_ & 0x00000100) != 0)) {
9466 output.writeInt32(183, symmetryLevel_);
9468 if (((bitField1_ & 0x00400000) != 0)) {
9469 com.google.protobuf.GeneratedMessageV3.writeString(output, 185, logPrefix_);
9471 if (((bitField1_ & 0x00800000) != 0)) {
9472 output.writeBool(186, logToStdout_);
9474 if (((bitField1_ & 0x01000000) != 0)) {
9475 output.writeBool(187, logToResponse_);
9477 if (((bitField4_ & 0x20000000) != 0)) {
9478 output.writeBool(188, optimizeWithLbTreeSearch_);
9480 if (((bitField1_ & 0x00200000) != 0)) {
9481 output.writeBool(189, logSubsolverStatistics_);
9483 if (((bitField0_ & 0x00008000) != 0)) {
9484 output.writeDouble(190, clauseCleanupRatio_);
9486 if (((bitField3_ & 0x00800000) != 0)) {
9487 output.writeInt32(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
9489 if (((bitField4_ & 0x00008000) != 0)) {
9490 output.writeBool(192, fixVariablesToTheirHintedValue_);
9492 if (((bitField5_ & 0x01000000) != 0)) {
9493 output.writeInt32(193, solutionPoolSize_);
9495 if (((bitField5_ & 0x00020000) != 0)) {
9496 output.writeBool(194, fillAdditionalSolutionsInResponse_);
9498 if (((bitField3_ & 0x00000001) != 0)) {
9499 output.writeBool(195, debugCrashOnBadHint_);
9501 if (((bitField3_ & 0x02000000) != 0)) {
9502 output.writeInt32(196, cutLevel_);
9504 if (((bitField3_ & 0x08000000) != 0)) {
9505 output.writeBool(197, addObjectiveCut_);
9507 if (((bitField6_ & 0x00080000) != 0)) {
9508 output.writeBool(198, mipComputeTrueObjectiveBound_);
9510 if (((bitField6_ & 0x00100000) != 0)) {
9511 output.writeDouble(199, mipMaxValidMagnitude_);
9513 if (((bitField3_ & 0x00020000) != 0)) {
9514 output.writeBool(200, useTimetablingInNoOverlap2D_);
9516 if (((bitField2_ & 0x00040000) != 0)) {
9517 output.writeInt64(201, presolveInclusionWorkLimit_);
9519 if (((bitField2_ & 0x00080000) != 0)) {
9520 output.writeBool(202, ignoreNames_);
9522 if (((bitField2_ & 0x20000000) != 0)) {
9523 output.writeBool(203, shareBinaryClauses_);
9525 if (((bitField4_ & 0x00800000) != 0)) {
9526 output.writeBool(204, useShavingInProbingSearch_);
9528 if (((bitField4_ & 0x01000000) != 0)) {
9529 output.writeDouble(205, shavingSearchDeterministicTime_);
9531 if (((bitField2_ & 0x00400000) != 0)) {
9532 output.writeInt32(206, numWorkers_);
9534 for (
int i = 0; i < subsolvers_.size(); i++) {
9535 com.google.protobuf.GeneratedMessageV3.writeString(output, 207, subsolvers_.getRaw(i));
9537 for (
int i = 0; i < ignoreSubsolvers_.size(); i++) {
9538 com.google.protobuf.GeneratedMessageV3.writeString(output, 209, ignoreSubsolvers_.getRaw(i));
9540 for (
int i = 0; i < subsolverParams_.size(); i++) {
9541 output.writeMessage(210, subsolverParams_.get(i));
9543 if (((bitField2_ & 0x01000000) != 0)) {
9544 output.writeInt32(211, minNumLnsWorkers_);
9546 if (((bitField1_ & 0x00080000) != 0)) {
9547 output.writeDouble(212, logFrequencyInSeconds_);
9549 if (((bitField3_ & 0x00040000) != 0)) {
9550 output.writeBool(213, useEnergeticReasoningInNoOverlap2D_);
9552 if (((bitField3_ & 0x00100000) != 0)) {
9553 output.writeBool(214, useDualSchedulingHeuristics_);
9555 if (((bitField3_ & 0x00004000) != 0)) {
9556 output.writeBool(215, useHardPrecedencesInCumulative_);
9558 if (((bitField2_ & 0x00000100) != 0)) {
9559 output.writeBool(216, detectTableWithCost_);
9561 if (((bitField2_ & 0x00000200) != 0)) {
9562 output.writeInt32(217, tableCompressionLevel_);
9564 if (((bitField1_ & 0x00100000) != 0)) {
9565 output.writeDouble(218, modelReductionLogFrequencyInSeconds_);
9567 for (
int i = 0; i < extraSubsolvers_.size(); i++) {
9568 com.google.protobuf.GeneratedMessageV3.writeString(output, 219, extraSubsolvers_.getRaw(i));
9570 if (((bitField3_ & 0x00008000) != 0)) {
9571 output.writeBool(220, exploitAllPrecedences_);
9573 if (((bitField3_ & 0x00000100) != 0)) {
9574 output.writeDouble(221, propagationLoopDetectionFactor_);
9576 if (((bitField6_ & 0x00008000) != 0)) {
9577 output.writeBool(222, onlySolveIp_);
9579 if (((bitField2_ & 0x00002000) != 0)) {
9580 output.writeBool(223, encodeComplexLinearConstraintWithInteger_);
9582 if (((bitField6_ & 0x00000200) != 0)) {
9583 output.writeBool(224, newLinearPropagation_);
9585 if (((bitField6_ & 0x00002000) != 0)) {
9586 output.writeBool(225, mipScaleLargeDomain_);
9588 if (((bitField1_ & 0x40000000) != 0)) {
9589 output.writeDouble(226, probingDeterministicTimeLimit_);
9591 if (((bitField4_ & 0x00000010) != 0)) {
9592 output.writeInt32(227, rootLpIterations_);
9594 if (((bitField4_ & 0x02000000) != 0)) {
9595 output.writeBool(228, useObjectiveLbSearch_);
9597 if (((bitField3_ & 0x00000400) != 0)) {
9598 output.writeInt32(229, maxSizeToCreatePrecedenceLiteralsInDisjunctive_);
9600 if (((bitField3_ & 0x00000800) != 0)) {
9601 output.writeBool(230, useStrongPropagationInDisjunctive_);
9603 if (((bitField6_ & 0x00200000) != 0)) {
9604 output.writeDouble(232, mipDropTolerance_);
9606 if (((bitField2_ & 0x00100000) != 0)) {
9607 output.writeBool(233, inferAllDiffs_);
9609 if (((bitField2_ & 0x00200000) != 0)) {
9610 output.writeBool(234, findBigLinearOverlap_);
9612 if (((bitField5_ & 0x00000200) != 0)) {
9613 output.writeInt32(235, sharedTreeNumWorkers_);
9615 if (((bitField5_ & 0x00000400) != 0)) {
9616 output.writeBool(236, useSharedTreeSearch_);
9618 if (((bitField5_ & 0x00000800) != 0)) {
9619 output.writeDouble(237, sharedTreeWorkerObjectiveSplitProbability_);
9621 if (((bitField5_ & 0x00001000) != 0)) {
9622 output.writeInt32(238, sharedTreeMaxNodesPerWorker_);
9624 if (((bitField5_ & 0x00002000) != 0)) {
9625 output.writeEnum(239, sharedTreeSplitStrategy_);
9627 if (((bitField5_ & 0x00000001) != 0)) {
9628 output.writeBool(240, testFeasibilityJump_);
9630 if (((bitField5_ & 0x00000008) != 0)) {
9631 output.writeDouble(242, feasibilityJumpDecay_);
9633 if (((bitField5_ & 0x00000080) != 0)) {
9634 output.writeInt32(244, numViolationLs_);
9636 if (((bitField5_ & 0x00000002) != 0)) {
9637 output.writeInt64(245, feasibilityJumpMaxNumValuesScanned_);
9639 if (((bitField5_ & 0x00000004) != 0)) {
9640 output.writeBool(246, feasibilityJumpProtectLinearFeasibility_);
9642 if (((bitField5_ & 0x00000010) != 0)) {
9643 output.writeDouble(247, feasibilityJumpVarRandomizationProbability_);
9645 if (((bitField5_ & 0x00000020) != 0)) {
9646 output.writeDouble(248, feasibilityJumpVarPerburbationRangeRatio_);
9648 if (((bitField5_ & 0x00000100) != 0)) {
9649 output.writeInt32(249, violationLsPerturbationPeriod_);
9651 if (((bitField5_ & 0x00000040) != 0)) {
9652 output.writeBool(250, feasibilityJumpEnableRestarts_);
9654 if (((bitField3_ & 0x00080000) != 0)) {
9655 output.writeBool(251, usePairwiseReasoningInNoOverlap2D_);
9657 if (((bitField5_ & 0x00400000) != 0)) {
9658 output.writeBool(252, stopAfterRootPropagation_);
9660 if (((bitField4_ & 0x04000000) != 0)) {
9661 output.writeBool(253, useObjectiveShavingSearch_);
9663 if (((bitField5_ & 0x08000000) != 0)) {
9664 output.writeBool(255, useLbRelaxLns_);
9666 if (((bitField6_ & 0x00000400) != 0)) {
9667 output.writeInt32(256, linearSplitSize_);
9669 getUnknownFields().writeTo(output);
9674 int size = memoizedSize;
9675 if (size != -1)
return size;
9678 if (((bitField0_ & 0x00000002) != 0)) {
9679 size += com.google.protobuf.CodedOutputStream
9680 .computeEnumSize(1, preferredVariableOrder_);
9682 if (((bitField0_ & 0x00000004) != 0)) {
9683 size += com.google.protobuf.CodedOutputStream
9684 .computeEnumSize(2, initialPolarity_);
9686 if (((bitField0_ & 0x00000400) != 0)) {
9687 size += com.google.protobuf.CodedOutputStream
9688 .computeEnumSize(4, minimizationAlgorithm_);
9690 if (((bitField0_ & 0x00002000) != 0)) {
9691 size += com.google.protobuf.CodedOutputStream
9692 .computeInt32Size(11, clauseCleanupPeriod_);
9694 if (((bitField0_ & 0x00004000) != 0)) {
9695 size += com.google.protobuf.CodedOutputStream
9696 .computeInt32Size(13, clauseCleanupTarget_);
9698 if (((bitField0_ & 0x00800000) != 0)) {
9699 size += com.google.protobuf.CodedOutputStream
9700 .computeDoubleSize(15, variableActivityDecay_);
9702 if (((bitField0_ & 0x01000000) != 0)) {
9703 size += com.google.protobuf.CodedOutputStream
9704 .computeDoubleSize(16, maxVariableActivityValue_);
9706 if (((bitField0_ & 0x10000000) != 0)) {
9707 size += com.google.protobuf.CodedOutputStream
9708 .computeDoubleSize(17, clauseActivityDecay_);
9710 if (((bitField0_ & 0x20000000) != 0)) {
9711 size += com.google.protobuf.CodedOutputStream
9712 .computeDoubleSize(18, maxClauseActivityValue_);
9714 if (((bitField0_ & 0x02000000) != 0)) {
9715 size += com.google.protobuf.CodedOutputStream
9716 .computeDoubleSize(22, glucoseMaxDecay_);
9718 if (((bitField0_ & 0x04000000) != 0)) {
9719 size += com.google.protobuf.CodedOutputStream
9720 .computeDoubleSize(23, glucoseDecayIncrement_);
9722 if (((bitField0_ & 0x08000000) != 0)) {
9723 size += com.google.protobuf.CodedOutputStream
9724 .computeInt32Size(24, glucoseDecayIncrementPeriod_);
9726 if (((bitField0_ & 0x80000000) != 0)) {
9727 size += com.google.protobuf.CodedOutputStream
9728 .computeInt32Size(30, restartPeriod_);
9730 if (((bitField1_ & 0x00004000) != 0)) {
9731 size += com.google.protobuf.CodedOutputStream
9732 .computeInt32Size(31, randomSeed_);
9734 if (((bitField0_ & 0x00000040) != 0)) {
9735 size += com.google.protobuf.CodedOutputStream
9736 .computeDoubleSize(32, randomBranchesRatio_);
9738 if (((bitField0_ & 0x00000800) != 0)) {
9739 size += com.google.protobuf.CodedOutputStream
9740 .computeEnumSize(34, binaryMinimizationAlgorithm_);
9742 if (((bitField3_ & 0x00000002) != 0)) {
9743 size += com.google.protobuf.CodedOutputStream
9744 .computeBoolSize(35, useOptimizationHints_);
9746 if (((bitField1_ & 0x00000100) != 0)) {
9747 size += com.google.protobuf.CodedOutputStream
9748 .computeDoubleSize(36, maxTimeInSeconds_);
9750 if (((bitField1_ & 0x00000400) != 0)) {
9751 size += com.google.protobuf.CodedOutputStream
9752 .computeInt64Size(37, maxNumberOfConflicts_);
9754 if (((bitField1_ & 0x00000800) != 0)) {
9755 size += com.google.protobuf.CodedOutputStream
9756 .computeInt64Size(40, maxMemoryInMb_);
9758 if (((bitField1_ & 0x00040000) != 0)) {
9759 size += com.google.protobuf.CodedOutputStream
9760 .computeBoolSize(41, logSearchProgress_);
9762 if (((bitField1_ & 0x02000000) != 0)) {
9763 size += com.google.protobuf.CodedOutputStream
9764 .computeBoolSize(43, usePbResolution_);
9766 if (((bitField0_ & 0x00000008) != 0)) {
9767 size += com.google.protobuf.CodedOutputStream
9768 .computeBoolSize(44, usePhaseSaving_);
9770 if (((bitField0_ & 0x00000020) != 0)) {
9771 size += com.google.protobuf.CodedOutputStream
9772 .computeDoubleSize(45, randomPolarityRatio_);
9774 if (((bitField0_ & 0x00080000) != 0)) {
9775 size += com.google.protobuf.CodedOutputStream
9776 .computeInt32Size(46, pbCleanupIncrement_);
9778 if (((bitField0_ & 0x00100000) != 0)) {
9779 size += com.google.protobuf.CodedOutputStream
9780 .computeDoubleSize(47, pbCleanupRatio_);
9782 if (((bitField1_ & 0x04000000) != 0)) {
9783 size += com.google.protobuf.CodedOutputStream
9784 .computeBoolSize(48, minimizeReductionDuringPbResolution_);
9786 if (((bitField1_ & 0x08000000) != 0)) {
9787 size += com.google.protobuf.CodedOutputStream
9788 .computeBoolSize(49, countAssumptionLevelsInLbd_);
9790 if (((bitField3_ & 0x00000004) != 0)) {
9791 size += com.google.protobuf.CodedOutputStream
9792 .computeBoolSize(50, minimizeCore_);
9794 if (((bitField3_ & 0x00000020) != 0)) {
9795 size += com.google.protobuf.CodedOutputStream
9796 .computeEnumSize(51, maxSatAssumptionOrder_);
9798 if (((bitField3_ & 0x00000040) != 0)) {
9799 size += com.google.protobuf.CodedOutputStream
9800 .computeBoolSize(52, maxSatReverseAssumptionOrder_);
9802 if (((bitField3_ & 0x00000080) != 0)) {
9803 size += com.google.protobuf.CodedOutputStream
9804 .computeEnumSize(53, maxSatStratification_);
9806 if (((bitField1_ & 0x10000000) != 0)) {
9807 size += com.google.protobuf.CodedOutputStream
9808 .computeInt32Size(54, presolveBveThreshold_);
9810 if (((bitField1_ & 0x20000000) != 0)) {
9811 size += com.google.protobuf.CodedOutputStream
9812 .computeInt32Size(55, presolveBveClauseWeight_);
9814 if (((bitField0_ & 0x00001000) != 0)) {
9815 size += com.google.protobuf.CodedOutputStream
9816 .computeBoolSize(56, subsumptionDuringConflictAnalysis_);
9818 if (((bitField1_ & 0x80000000) != 0)) {
9819 size += com.google.protobuf.CodedOutputStream
9820 .computeDoubleSize(57, presolveProbingDeterministicTimeLimit_);
9822 if (((bitField0_ & 0x00010000) != 0)) {
9823 size += com.google.protobuf.CodedOutputStream
9824 .computeEnumSize(58, clauseCleanupProtection_);
9826 if (((bitField0_ & 0x00020000) != 0)) {
9827 size += com.google.protobuf.CodedOutputStream
9828 .computeInt32Size(59, clauseCleanupLbdBound_);
9830 if (((bitField0_ & 0x00040000) != 0)) {
9831 size += com.google.protobuf.CodedOutputStream
9832 .computeEnumSize(60, clauseCleanupOrdering_);
9836 for (
int i = 0; i < restartAlgorithms_.size(); i++) {
9837 dataSize += com.google.protobuf.CodedOutputStream
9838 .computeEnumSizeNoTag(restartAlgorithms_.get(i));
9841 size += 2 * restartAlgorithms_.size();
9843 if (((bitField1_ & 0x00000001) != 0)) {
9844 size += com.google.protobuf.CodedOutputStream
9845 .computeInt32Size(62, restartRunningWindowSize_);
9847 if (((bitField1_ & 0x00000002) != 0)) {
9848 size += com.google.protobuf.CodedOutputStream
9849 .computeDoubleSize(63, restartDlAverageRatio_);
9851 if (((bitField1_ & 0x00000008) != 0)) {
9852 size += com.google.protobuf.CodedOutputStream
9853 .computeBoolSize(64, useBlockingRestart_);
9855 if (((bitField1_ & 0x00000010) != 0)) {
9856 size += com.google.protobuf.CodedOutputStream
9857 .computeInt32Size(65, blockingRestartWindowSize_);
9859 if (((bitField1_ & 0x00000020) != 0)) {
9860 size += com.google.protobuf.CodedOutputStream
9861 .computeDoubleSize(66, blockingRestartMultiplier_);
9863 if (((bitField1_ & 0x00000200) != 0)) {
9864 size += com.google.protobuf.CodedOutputStream
9865 .computeDoubleSize(67, maxDeterministicTime_);
9867 if (((bitField1_ & 0x00000040) != 0)) {
9868 size += com.google.protobuf.CodedOutputStream
9869 .computeInt32Size(68, numConflictsBeforeStrategyChanges_);
9871 if (((bitField1_ & 0x00000080) != 0)) {
9872 size += com.google.protobuf.CodedOutputStream
9873 .computeDoubleSize(69, strategyChangeIncreaseRatio_);
9875 if (((bitField0_ & 0x40000000) != 0)) {
9876 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(70, defaultRestartAlgorithms_);
9878 if (((bitField1_ & 0x00000004) != 0)) {
9879 size += com.google.protobuf.CodedOutputStream
9880 .computeDoubleSize(71, restartLbdAverageRatio_);
9882 if (((bitField2_ & 0x00000002) != 0)) {
9883 size += com.google.protobuf.CodedOutputStream
9884 .computeBoolSize(72, presolveUseBva_);
9886 if (((bitField2_ & 0x00000004) != 0)) {
9887 size += com.google.protobuf.CodedOutputStream
9888 .computeInt32Size(73, presolveBvaThreshold_);
9890 if (((bitField3_ & 0x00000200) != 0)) {
9891 size += com.google.protobuf.CodedOutputStream
9892 .computeBoolSize(74, usePrecedencesInDisjunctiveConstraint_);
9894 if (((bitField0_ & 0x00000080) != 0)) {
9895 size += com.google.protobuf.CodedOutputStream
9896 .computeBoolSize(75, useErwaHeuristic_);
9898 if (((bitField0_ & 0x00000100) != 0)) {
9899 size += com.google.protobuf.CodedOutputStream
9900 .computeDoubleSize(76, initialVariablesActivity_);
9902 if (((bitField0_ & 0x00000200) != 0)) {
9903 size += com.google.protobuf.CodedOutputStream
9904 .computeBoolSize(77, alsoBumpVariablesInConflictReasons_);
9906 if (((bitField3_ & 0x00001000) != 0)) {
9907 size += com.google.protobuf.CodedOutputStream
9908 .computeBoolSize(78, useOverloadCheckerInCumulative_);
9910 if (((bitField3_ & 0x00002000) != 0)) {
9911 size += com.google.protobuf.CodedOutputStream
9912 .computeBoolSize(79, useTimetableEdgeFindingInCumulative_);
9914 if (((bitField3_ & 0x00010000) != 0)) {
9915 size += com.google.protobuf.CodedOutputStream
9916 .computeBoolSize(80, useDisjunctiveConstraintInCumulative_);
9918 if (((bitField4_ & 0x00001000) != 0)) {
9919 size += com.google.protobuf.CodedOutputStream
9920 .computeEnumSize(82, searchBranching_);
9922 if (((bitField4_ & 0x10000000) != 0)) {
9923 size += com.google.protobuf.CodedOutputStream
9924 .computeBoolSize(83, optimizeWithCore_);
9926 if (((bitField3_ & 0x00000008) != 0)) {
9927 size += com.google.protobuf.CodedOutputStream
9928 .computeBoolSize(84, findMultipleCores_);
9930 if (((bitField4_ & 0x80000000) != 0)) {
9931 size += com.google.protobuf.CodedOutputStream
9932 .computeBoolSize(85, optimizeWithMaxHs_);
9934 if (((bitField2_ & 0x00000010) != 0)) {
9935 size += com.google.protobuf.CodedOutputStream
9936 .computeBoolSize(86, cpModelPresolve_);
9938 if (((bitField5_ & 0x00004000) != 0)) {
9939 size += com.google.protobuf.CodedOutputStream
9940 .computeBoolSize(87, enumerateAllSolutions_);
9942 if (((bitField2_ & 0x00000001) != 0)) {
9943 size += com.google.protobuf.CodedOutputStream
9944 .computeBoolSize(88, presolveBlockedClause_);
9946 if (((bitField3_ & 0x00000010) != 0)) {
9947 size += com.google.protobuf.CodedOutputStream
9948 .computeBoolSize(89, coverOptimization_);
9950 if (((bitField3_ & 0x00200000) != 0)) {
9951 size += com.google.protobuf.CodedOutputStream
9952 .computeInt32Size(90, linearizationLevel_);
9954 if (((bitField3_ & 0x01000000) != 0)) {
9955 size += com.google.protobuf.CodedOutputStream
9956 .computeInt32Size(91, maxNumCuts_);
9958 if (((bitField3_ & 0x04000000) != 0)) {
9959 size += com.google.protobuf.CodedOutputStream
9960 .computeBoolSize(92, onlyAddCutsAtLevelZero_);
9962 if (((bitField2_ & 0x00000040) != 0)) {
9963 size += com.google.protobuf.CodedOutputStream
9964 .computeBoolSize(93, cpModelUseSatPresolve_);
9966 if (((bitField4_ & 0x00010000) != 0)) {
9967 size += com.google.protobuf.CodedOutputStream
9968 .computeBoolSize(94, exploitIntegerLpSolution_);
9970 if (((bitField5_ & 0x00080000) != 0)) {
9971 size += com.google.protobuf.CodedOutputStream
9972 .computeBoolSize(95, autoDetectGreaterThanAtLeastOneOf_);
9974 if (((bitField0_ & 0x00200000) != 0)) {
9975 size += com.google.protobuf.CodedOutputStream
9976 .computeInt32Size(96, minimizeWithPropagationRestartPeriod_);
9978 if (((bitField0_ & 0x00400000) != 0)) {
9979 size += com.google.protobuf.CodedOutputStream
9980 .computeInt32Size(97, minimizeWithPropagationNumDecisions_);
9982 if (((bitField5_ & 0x00100000) != 0)) {
9983 size += com.google.protobuf.CodedOutputStream
9984 .computeBoolSize(98, stopAfterFirstSolution_);
9986 if (((bitField4_ & 0x40000000) != 0)) {
9987 size += com.google.protobuf.CodedOutputStream
9988 .computeInt32Size(99, binarySearchNumConflicts_);
9990 if (((bitField2_ & 0x00800000) != 0)) {
9991 size += com.google.protobuf.CodedOutputStream
9992 .computeInt32Size(100, numSearchWorkers_);
9994 if (((bitField5_ & 0x00800000) != 0)) {
9995 size += com.google.protobuf.CodedOutputStream
9996 .computeBoolSize(101, useLnsOnly_);
9998 if (((bitField5_ & 0x40000000) != 0)) {
9999 size += com.google.protobuf.CodedOutputStream
10000 .computeBoolSize(103, randomizeSearch_);
10002 if (((bitField5_ & 0x80000000) != 0)) {
10003 size += com.google.protobuf.CodedOutputStream
10004 .computeInt64Size(104, searchRandomizationTolerance_);
10006 if (((bitField5_ & 0x00040000) != 0)) {
10007 size += com.google.protobuf.CodedOutputStream
10008 .computeBoolSize(106, instantiateAllVariables_);
10010 if (((bitField3_ & 0x00400000) != 0)) {
10011 size += com.google.protobuf.CodedOutputStream
10012 .computeInt32Size(107, booleanEncodingLevel_);
10014 if (((bitField6_ & 0x00000001) != 0)) {
10015 size += com.google.protobuf.CodedOutputStream
10016 .computeBoolSize(108, useOptionalVariables_);
10018 if (((bitField6_ & 0x00000002) != 0)) {
10019 size += com.google.protobuf.CodedOutputStream
10020 .computeBoolSize(109, useExactLpReason_);
10022 if (((bitField2_ & 0x00000020) != 0)) {
10023 size += com.google.protobuf.CodedOutputStream
10024 .computeInt32Size(110, cpModelProbingLevel_);
10026 if (((bitField4_ & 0x00000008) != 0)) {
10027 size += com.google.protobuf.CodedOutputStream
10028 .computeBoolSize(112, addLpConstraintsLazily_);
10030 if (((bitField2_ & 0x08000000) != 0)) {
10031 size += com.google.protobuf.CodedOutputStream
10032 .computeBoolSize(113, shareObjectiveBounds_);
10034 if (((bitField2_ & 0x10000000) != 0)) {
10035 size += com.google.protobuf.CodedOutputStream
10036 .computeBoolSize(114, shareLevelZeroBounds_);
10038 if (((bitField4_ & 0x00000020) != 0)) {
10039 size += com.google.protobuf.CodedOutputStream
10040 .computeDoubleSize(115, minOrthogonalityForLpConstraints_);
10042 if (((bitField4_ & 0x00020000) != 0)) {
10043 size += com.google.protobuf.CodedOutputStream
10044 .computeBoolSize(116, exploitAllLpSolution_);
10046 if (((bitField3_ & 0x10000000) != 0)) {
10047 size += com.google.protobuf.CodedOutputStream
10048 .computeBoolSize(117, addCgCuts_);
10050 if (((bitField4_ & 0x00000004) != 0)) {
10051 size += com.google.protobuf.CodedOutputStream
10052 .computeInt32Size(119, maxIntegerRoundingScaling_);
10054 if (((bitField3_ & 0x20000000) != 0)) {
10055 size += com.google.protobuf.CodedOutputStream
10056 .computeBoolSize(120, addMirCuts_);
10058 if (((bitField4_ & 0x00000080) != 0)) {
10059 size += com.google.protobuf.CodedOutputStream
10060 .computeInt32Size(121, maxConsecutiveInactiveCount_);
10062 if (((bitField4_ & 0x00000800) != 0)) {
10063 size += com.google.protobuf.CodedOutputStream
10064 .computeInt32Size(122, newConstraintsBatchSize_);
10066 if (((bitField4_ & 0x08000000) != 0)) {
10067 size += com.google.protobuf.CodedOutputStream
10068 .computeInt64Size(123, pseudoCostReliabilityThreshold_);
10070 if (((bitField6_ & 0x00000800) != 0)) {
10071 size += com.google.protobuf.CodedOutputStream
10072 .computeDoubleSize(124, mipMaxBound_);
10074 if (((bitField6_ & 0x00001000) != 0)) {
10075 size += com.google.protobuf.CodedOutputStream
10076 .computeDoubleSize(125, mipVarScaling_);
10078 if (((bitField6_ & 0x00010000) != 0)) {
10079 size += com.google.protobuf.CodedOutputStream
10080 .computeDoubleSize(126, mipWantedPrecision_);
10082 if (((bitField6_ & 0x00020000) != 0)) {
10083 size += com.google.protobuf.CodedOutputStream
10084 .computeInt32Size(127, mipMaxActivityExponent_);
10086 if (((bitField6_ & 0x00040000) != 0)) {
10087 size += com.google.protobuf.CodedOutputStream
10088 .computeDoubleSize(128, mipCheckPrecision_);
10090 if (((bitField5_ & 0x02000000) != 0)) {
10091 size += com.google.protobuf.CodedOutputStream
10092 .computeBoolSize(129, useRinsLns_);
10094 if (((bitField4_ & 0x00040000) != 0)) {
10095 size += com.google.protobuf.CodedOutputStream
10096 .computeBoolSize(130, exploitBestSolution_);
10098 if (((bitField4_ & 0x00100000) != 0)) {
10099 size += com.google.protobuf.CodedOutputStream
10100 .computeBoolSize(131, exploitObjective_);
10102 if (((bitField5_ & 0x00010000) != 0)) {
10103 size += com.google.protobuf.CodedOutputStream
10104 .computeBoolSize(132, fillTightenedDomainsInResponse_);
10106 if (((bitField6_ & 0x00000008) != 0)) {
10107 size += com.google.protobuf.CodedOutputStream
10108 .computeBoolSize(133, useCombinedNoOverlap_);
10110 if (((bitField2_ & 0x04000000) != 0)) {
10111 size += com.google.protobuf.CodedOutputStream
10112 .computeInt32Size(134, interleaveBatchSize_);
10114 if (((bitField6_ & 0x00000010) != 0)) {
10115 size += com.google.protobuf.CodedOutputStream
10116 .computeBoolSize(135, catchSigintSignal_);
10118 if (((bitField2_ & 0x02000000) != 0)) {
10119 size += com.google.protobuf.CodedOutputStream
10120 .computeBoolSize(136, interleaveSearch_);
10122 if (((bitField5_ & 0x20000000) != 0)) {
10123 size += com.google.protobuf.CodedOutputStream
10124 .computeBoolSize(137, diversifyLnsParams_);
10126 if (((bitField2_ & 0x00000008) != 0)) {
10127 size += com.google.protobuf.CodedOutputStream
10128 .computeInt32Size(138, maxPresolveIterations_);
10130 if (((bitField6_ & 0x00000004) != 0)) {
10131 size += com.google.protobuf.CodedOutputStream
10132 .computeBoolSize(139, useBranchingInLp_);
10134 if (((bitField4_ & 0x00200000) != 0)) {
10135 size += com.google.protobuf.CodedOutputStream
10136 .computeInt64Size(142, probingPeriodAtRoot_);
10138 if (((bitField6_ & 0x00000020) != 0)) {
10139 size += com.google.protobuf.CodedOutputStream
10140 .computeBoolSize(144, useImpliedBounds_);
10142 if (((bitField2_ & 0x00004000) != 0)) {
10143 size += com.google.protobuf.CodedOutputStream
10144 .computeDoubleSize(145, mergeNoOverlapWorkLimit_);
10146 if (((bitField2_ & 0x00008000) != 0)) {
10147 size += com.google.protobuf.CodedOutputStream
10148 .computeDoubleSize(146, mergeAtMostOneWorkLimit_);
10150 if (((bitField2_ & 0x00010000) != 0)) {
10151 size += com.google.protobuf.CodedOutputStream
10152 .computeInt32Size(147, presolveSubstitutionLevel_);
10154 if (((bitField4_ & 0x00000001) != 0)) {
10155 size += com.google.protobuf.CodedOutputStream
10156 .computeInt32Size(148, maxAllDiffCutSize_);
10158 if (((bitField5_ & 0x00200000) != 0)) {
10159 size += com.google.protobuf.CodedOutputStream
10160 .computeBoolSize(149, stopAfterPresolve_);
10162 if (((bitField2_ & 0x80000000) != 0)) {
10163 size += com.google.protobuf.CodedOutputStream
10164 .computeInt32Size(151, debugMaxNumPresolveOperations_);
10166 if (((bitField4_ & 0x00000002) != 0)) {
10167 size += com.google.protobuf.CodedOutputStream
10168 .computeBoolSize(152, addLinMaxCuts_);
10170 if (((bitField4_ & 0x00002000) != 0)) {
10171 size += com.google.protobuf.CodedOutputStream
10172 .computeInt32Size(153, hintConflictLimit_);
10174 if (((bitField4_ & 0x00000040) != 0)) {
10175 size += com.google.protobuf.CodedOutputStream
10176 .computeInt32Size(154, maxCutRoundsAtLevelZero_);
10178 if (((bitField4_ & 0x00000100) != 0)) {
10179 size += com.google.protobuf.CodedOutputStream
10180 .computeDoubleSize(155, cutMaxActiveCountValue_);
10182 if (((bitField4_ & 0x00000200) != 0)) {
10183 size += com.google.protobuf.CodedOutputStream
10184 .computeDoubleSize(156, cutActiveCountDecay_);
10186 if (((bitField4_ & 0x00000400) != 0)) {
10187 size += com.google.protobuf.CodedOutputStream
10188 .computeInt32Size(157, cutCleanupTarget_);
10190 if (((bitField1_ & 0x00001000) != 0)) {
10191 size += com.google.protobuf.CodedOutputStream
10192 .computeDoubleSize(159, absoluteGapLimit_);
10194 if (((bitField1_ & 0x00002000) != 0)) {
10195 size += com.google.protobuf.CodedOutputStream
10196 .computeDoubleSize(160, relativeGapLimit_);
10198 if (((bitField4_ & 0x00080000) != 0)) {
10199 size += com.google.protobuf.CodedOutputStream
10200 .computeBoolSize(161, exploitRelaxationSolution_);
10202 if (((bitField2_ & 0x40000000) != 0)) {
10203 size += com.google.protobuf.CodedOutputStream
10204 .computeBoolSize(162, debugPostsolveWithFullSolver_);
10206 if (((bitField2_ & 0x00000080) != 0)) {
10207 size += com.google.protobuf.CodedOutputStream
10208 .computeBoolSize(163, useSatInprocessing_);
10210 if (((bitField5_ & 0x04000000) != 0)) {
10211 size += com.google.protobuf.CodedOutputStream
10212 .computeBoolSize(164, useFeasibilityPump_);
10214 if (((bitField5_ & 0x10000000) != 0)) {
10215 size += com.google.protobuf.CodedOutputStream
10216 .computeEnumSize(165, fpRounding_);
10218 if (((bitField6_ & 0x00004000) != 0)) {
10219 size += com.google.protobuf.CodedOutputStream
10220 .computeBoolSize(166, mipAutomaticallyScaleVariables_);
10222 if (((bitField4_ & 0x00004000) != 0)) {
10223 size += com.google.protobuf.CodedOutputStream
10224 .computeBoolSize(167, repairHint_);
10226 if (((bitField0_ & 0x00000010) != 0)) {
10227 size += com.google.protobuf.CodedOutputStream
10228 .computeInt32Size(168, polarityRephaseIncrement_);
10230 if (((bitField3_ & 0x40000000) != 0)) {
10231 size += com.google.protobuf.CodedOutputStream
10232 .computeBoolSize(169, addZeroHalfCuts_);
10234 if (((bitField2_ & 0x00000400) != 0)) {
10235 size += com.google.protobuf.CodedOutputStream
10236 .computeBoolSize(170, expandAlldiffConstraints_);
10238 if (((bitField0_ & 0x00000001) != 0)) {
10239 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(171, name_);
10241 if (((bitField3_ & 0x80000000) != 0)) {
10242 size += com.google.protobuf.CodedOutputStream
10243 .computeBoolSize(172, addCliqueCuts_);
10245 if (((bitField5_ & 0x00008000) != 0)) {
10246 size += com.google.protobuf.CodedOutputStream
10247 .computeBoolSize(173, keepAllFeasibleSolutionsInPresolve_);
10249 if (((bitField2_ & 0x00020000) != 0)) {
10250 size += com.google.protobuf.CodedOutputStream
10251 .computeBoolSize(174, presolveExtractIntegerEnforcement_);
10253 if (((bitField6_ & 0x00000040) != 0)) {
10254 size += com.google.protobuf.CodedOutputStream
10255 .computeBoolSize(175, polishLpSolution_);
10257 if (((bitField4_ & 0x00400000) != 0)) {
10258 size += com.google.protobuf.CodedOutputStream
10259 .computeBoolSize(176, useProbingSearch_);
10261 if (((bitField6_ & 0x00000080) != 0)) {
10262 size += com.google.protobuf.CodedOutputStream
10263 .computeBoolSize(177, convertIntervals_);
10265 if (((bitField1_ & 0x00008000) != 0)) {
10266 size += com.google.protobuf.CodedOutputStream
10267 .computeBoolSize(178, permuteVariableRandomly_);
10269 if (((bitField1_ & 0x00010000) != 0)) {
10270 size += com.google.protobuf.CodedOutputStream
10271 .computeBoolSize(179, permutePresolveConstraintOrder_);
10273 if (((bitField1_ & 0x00020000) != 0)) {
10274 size += com.google.protobuf.CodedOutputStream
10275 .computeBoolSize(180, useAbslRandom_);
10277 if (((bitField2_ & 0x00001000) != 0)) {
10278 size += com.google.protobuf.CodedOutputStream
10279 .computeBoolSize(181, disableConstraintExpansion_);
10281 if (((bitField2_ & 0x00000800) != 0)) {
10282 size += com.google.protobuf.CodedOutputStream
10283 .computeBoolSize(182, expandReservoirConstraints_);
10285 if (((bitField6_ & 0x00000100) != 0)) {
10286 size += com.google.protobuf.CodedOutputStream
10287 .computeInt32Size(183, symmetryLevel_);
10289 if (((bitField1_ & 0x00400000) != 0)) {
10290 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(185, logPrefix_);
10292 if (((bitField1_ & 0x00800000) != 0)) {
10293 size += com.google.protobuf.CodedOutputStream
10294 .computeBoolSize(186, logToStdout_);
10296 if (((bitField1_ & 0x01000000) != 0)) {
10297 size += com.google.protobuf.CodedOutputStream
10298 .computeBoolSize(187, logToResponse_);
10300 if (((bitField4_ & 0x20000000) != 0)) {
10301 size += com.google.protobuf.CodedOutputStream
10302 .computeBoolSize(188, optimizeWithLbTreeSearch_);
10304 if (((bitField1_ & 0x00200000) != 0)) {
10305 size += com.google.protobuf.CodedOutputStream
10306 .computeBoolSize(189, logSubsolverStatistics_);
10308 if (((bitField0_ & 0x00008000) != 0)) {
10309 size += com.google.protobuf.CodedOutputStream
10310 .computeDoubleSize(190, clauseCleanupRatio_);
10312 if (((bitField3_ & 0x00800000) != 0)) {
10313 size += com.google.protobuf.CodedOutputStream
10314 .computeInt32Size(191, maxDomainSizeWhenEncodingEqNeqConstraints_);
10316 if (((bitField4_ & 0x00008000) != 0)) {
10317 size += com.google.protobuf.CodedOutputStream
10318 .computeBoolSize(192, fixVariablesToTheirHintedValue_);
10320 if (((bitField5_ & 0x01000000) != 0)) {
10321 size += com.google.protobuf.CodedOutputStream
10322 .computeInt32Size(193, solutionPoolSize_);
10324 if (((bitField5_ & 0x00020000) != 0)) {
10325 size += com.google.protobuf.CodedOutputStream
10326 .computeBoolSize(194, fillAdditionalSolutionsInResponse_);
10328 if (((bitField3_ & 0x00000001) != 0)) {
10329 size += com.google.protobuf.CodedOutputStream
10330 .computeBoolSize(195, debugCrashOnBadHint_);
10332 if (((bitField3_ & 0x02000000) != 0)) {
10333 size += com.google.protobuf.CodedOutputStream
10334 .computeInt32Size(196, cutLevel_);
10336 if (((bitField3_ & 0x08000000) != 0)) {
10337 size += com.google.protobuf.CodedOutputStream
10338 .computeBoolSize(197, addObjectiveCut_);
10340 if (((bitField6_ & 0x00080000) != 0)) {
10341 size += com.google.protobuf.CodedOutputStream
10342 .computeBoolSize(198, mipComputeTrueObjectiveBound_);
10344 if (((bitField6_ & 0x00100000) != 0)) {
10345 size += com.google.protobuf.CodedOutputStream
10346 .computeDoubleSize(199, mipMaxValidMagnitude_);
10348 if (((bitField3_ & 0x00020000) != 0)) {
10349 size += com.google.protobuf.CodedOutputStream
10350 .computeBoolSize(200, useTimetablingInNoOverlap2D_);
10352 if (((bitField2_ & 0x00040000) != 0)) {
10353 size += com.google.protobuf.CodedOutputStream
10354 .computeInt64Size(201, presolveInclusionWorkLimit_);
10356 if (((bitField2_ & 0x00080000) != 0)) {
10357 size += com.google.protobuf.CodedOutputStream
10358 .computeBoolSize(202, ignoreNames_);
10360 if (((bitField2_ & 0x20000000) != 0)) {
10361 size += com.google.protobuf.CodedOutputStream
10362 .computeBoolSize(203, shareBinaryClauses_);
10364 if (((bitField4_ & 0x00800000) != 0)) {
10365 size += com.google.protobuf.CodedOutputStream
10366 .computeBoolSize(204, useShavingInProbingSearch_);
10368 if (((bitField4_ & 0x01000000) != 0)) {
10369 size += com.google.protobuf.CodedOutputStream
10370 .computeDoubleSize(205, shavingSearchDeterministicTime_);
10372 if (((bitField2_ & 0x00400000) != 0)) {
10373 size += com.google.protobuf.CodedOutputStream
10374 .computeInt32Size(206, numWorkers_);
10378 for (
int i = 0; i < subsolvers_.size(); i++) {
10379 dataSize += computeStringSizeNoTag(subsolvers_.getRaw(i));
10386 for (
int i = 0; i < ignoreSubsolvers_.size(); i++) {
10387 dataSize += computeStringSizeNoTag(ignoreSubsolvers_.getRaw(i));
10392 for (
int i = 0; i < subsolverParams_.size(); i++) {
10393 size += com.google.protobuf.CodedOutputStream
10394 .computeMessageSize(210, subsolverParams_.get(i));
10396 if (((bitField2_ & 0x01000000) != 0)) {
10397 size += com.google.protobuf.CodedOutputStream
10398 .computeInt32Size(211, minNumLnsWorkers_);
10400 if (((bitField1_ & 0x00080000) != 0)) {
10401 size += com.google.protobuf.CodedOutputStream
10402 .computeDoubleSize(212, logFrequencyInSeconds_);
10404 if (((bitField3_ & 0x00040000) != 0)) {
10405 size += com.google.protobuf.CodedOutputStream
10406 .computeBoolSize(213, useEnergeticReasoningInNoOverlap2D_);
10408 if (((bitField3_ & 0x00100000) != 0)) {
10409 size += com.google.protobuf.CodedOutputStream
10410 .computeBoolSize(214, useDualSchedulingHeuristics_);
10412 if (((bitField3_ & 0x00004000) != 0)) {
10413 size += com.google.protobuf.CodedOutputStream
10414 .computeBoolSize(215, useHardPrecedencesInCumulative_);
10416 if (((bitField2_ & 0x00000100) != 0)) {
10417 size += com.google.protobuf.CodedOutputStream
10418 .computeBoolSize(216, detectTableWithCost_);
10420 if (((bitField2_ & 0x00000200) != 0)) {
10421 size += com.google.protobuf.CodedOutputStream
10422 .computeInt32Size(217, tableCompressionLevel_);
10424 if (((bitField1_ & 0x00100000) != 0)) {
10425 size += com.google.protobuf.CodedOutputStream
10426 .computeDoubleSize(218, modelReductionLogFrequencyInSeconds_);
10430 for (
int i = 0; i < extraSubsolvers_.size(); i++) {
10431 dataSize += computeStringSizeNoTag(extraSubsolvers_.getRaw(i));
10436 if (((bitField3_ & 0x00008000) != 0)) {
10437 size += com.google.protobuf.CodedOutputStream
10438 .computeBoolSize(220, exploitAllPrecedences_);
10440 if (((bitField3_ & 0x00000100) != 0)) {
10441 size += com.google.protobuf.CodedOutputStream
10442 .computeDoubleSize(221, propagationLoopDetectionFactor_);
10444 if (((bitField6_ & 0x00008000) != 0)) {
10445 size += com.google.protobuf.CodedOutputStream
10446 .computeBoolSize(222, onlySolveIp_);
10448 if (((bitField2_ & 0x00002000) != 0)) {
10449 size += com.google.protobuf.CodedOutputStream
10450 .computeBoolSize(223, encodeComplexLinearConstraintWithInteger_);
10452 if (((bitField6_ & 0x00000200) != 0)) {
10453 size += com.google.protobuf.CodedOutputStream
10454 .computeBoolSize(224, newLinearPropagation_);
10456 if (((bitField6_ & 0x00002000) != 0)) {
10457 size += com.google.protobuf.CodedOutputStream
10458 .computeBoolSize(225, mipScaleLargeDomain_);
10460 if (((bitField1_ & 0x40000000) != 0)) {
10461 size += com.google.protobuf.CodedOutputStream
10462 .computeDoubleSize(226, probingDeterministicTimeLimit_);
10464 if (((bitField4_ & 0x00000010) != 0)) {
10465 size += com.google.protobuf.CodedOutputStream
10466 .computeInt32Size(227, rootLpIterations_);
10468 if (((bitField4_ & 0x02000000) != 0)) {
10469 size += com.google.protobuf.CodedOutputStream
10470 .computeBoolSize(228, useObjectiveLbSearch_);
10472 if (((bitField3_ & 0x00000400) != 0)) {
10473 size += com.google.protobuf.CodedOutputStream
10474 .computeInt32Size(229, maxSizeToCreatePrecedenceLiteralsInDisjunctive_);
10476 if (((bitField3_ & 0x00000800) != 0)) {
10477 size += com.google.protobuf.CodedOutputStream
10478 .computeBoolSize(230, useStrongPropagationInDisjunctive_);
10480 if (((bitField6_ & 0x00200000) != 0)) {
10481 size += com.google.protobuf.CodedOutputStream
10482 .computeDoubleSize(232, mipDropTolerance_);
10484 if (((bitField2_ & 0x00100000) != 0)) {
10485 size += com.google.protobuf.CodedOutputStream
10486 .computeBoolSize(233, inferAllDiffs_);
10488 if (((bitField2_ & 0x00200000) != 0)) {
10489 size += com.google.protobuf.CodedOutputStream
10490 .computeBoolSize(234, findBigLinearOverlap_);
10492 if (((bitField5_ & 0x00000200) != 0)) {
10493 size += com.google.protobuf.CodedOutputStream
10494 .computeInt32Size(235, sharedTreeNumWorkers_);
10496 if (((bitField5_ & 0x00000400) != 0)) {
10497 size += com.google.protobuf.CodedOutputStream
10498 .computeBoolSize(236, useSharedTreeSearch_);
10500 if (((bitField5_ & 0x00000800) != 0)) {
10501 size += com.google.protobuf.CodedOutputStream
10502 .computeDoubleSize(237, sharedTreeWorkerObjectiveSplitProbability_);
10504 if (((bitField5_ & 0x00001000) != 0)) {
10505 size += com.google.protobuf.CodedOutputStream
10506 .computeInt32Size(238, sharedTreeMaxNodesPerWorker_);
10508 if (((bitField5_ & 0x00002000) != 0)) {
10509 size += com.google.protobuf.CodedOutputStream
10510 .computeEnumSize(239, sharedTreeSplitStrategy_);
10512 if (((bitField5_ & 0x00000001) != 0)) {
10513 size += com.google.protobuf.CodedOutputStream
10514 .computeBoolSize(240, testFeasibilityJump_);
10516 if (((bitField5_ & 0x00000008) != 0)) {
10517 size += com.google.protobuf.CodedOutputStream
10518 .computeDoubleSize(242, feasibilityJumpDecay_);
10520 if (((bitField5_ & 0x00000080) != 0)) {
10521 size += com.google.protobuf.CodedOutputStream
10522 .computeInt32Size(244, numViolationLs_);
10524 if (((bitField5_ & 0x00000002) != 0)) {
10525 size += com.google.protobuf.CodedOutputStream
10526 .computeInt64Size(245, feasibilityJumpMaxNumValuesScanned_);
10528 if (((bitField5_ & 0x00000004) != 0)) {
10529 size += com.google.protobuf.CodedOutputStream
10530 .computeBoolSize(246, feasibilityJumpProtectLinearFeasibility_);
10532 if (((bitField5_ & 0x00000010) != 0)) {
10533 size += com.google.protobuf.CodedOutputStream
10534 .computeDoubleSize(247, feasibilityJumpVarRandomizationProbability_);
10536 if (((bitField5_ & 0x00000020) != 0)) {
10537 size += com.google.protobuf.CodedOutputStream
10538 .computeDoubleSize(248, feasibilityJumpVarPerburbationRangeRatio_);
10540 if (((bitField5_ & 0x00000100) != 0)) {
10541 size += com.google.protobuf.CodedOutputStream
10542 .computeInt32Size(249, violationLsPerturbationPeriod_);
10544 if (((bitField5_ & 0x00000040) != 0)) {
10545 size += com.google.protobuf.CodedOutputStream
10546 .computeBoolSize(250, feasibilityJumpEnableRestarts_);
10548 if (((bitField3_ & 0x00080000) != 0)) {
10549 size += com.google.protobuf.CodedOutputStream
10550 .computeBoolSize(251, usePairwiseReasoningInNoOverlap2D_);
10552 if (((bitField5_ & 0x00400000) != 0)) {
10553 size += com.google.protobuf.CodedOutputStream
10554 .computeBoolSize(252, stopAfterRootPropagation_);
10556 if (((bitField4_ & 0x04000000) != 0)) {
10557 size += com.google.protobuf.CodedOutputStream
10558 .computeBoolSize(253, useObjectiveShavingSearch_);
10560 if (((bitField5_ & 0x08000000) != 0)) {
10561 size += com.google.protobuf.CodedOutputStream
10562 .computeBoolSize(255, useLbRelaxLns_);
10564 if (((bitField6_ & 0x00000400) != 0)) {
10565 size += com.google.protobuf.CodedOutputStream
10566 .computeInt32Size(256, linearSplitSize_);
10568 size += getUnknownFields().getSerializedSize();
10569 memoizedSize = size;
10573 @java.lang.Override
10574 public boolean equals(
final java.lang.Object obj) {
10578 if (!(obj instanceof com.google.ortools.sat.SatParameters)) {
10579 return super.equals(obj);
10586 .equals(other.
getName()))
return false;
10590 if (preferredVariableOrder_ != other.preferredVariableOrder_)
return false;
10594 if (initialPolarity_ != other.initialPolarity_)
return false;
10609 != java.lang.Double.doubleToLongBits(
10615 != java.lang.Double.doubleToLongBits(
10626 != java.lang.Double.doubleToLongBits(
10636 if (minimizationAlgorithm_ != other.minimizationAlgorithm_)
return false;
10640 if (binaryMinimizationAlgorithm_ != other.binaryMinimizationAlgorithm_)
return false;
10660 != java.lang.Double.doubleToLongBits(
10665 if (clauseCleanupProtection_ != other.clauseCleanupProtection_)
return false;
10674 if (clauseCleanupOrdering_ != other.clauseCleanupOrdering_)
return false;
10684 != java.lang.Double.doubleToLongBits(
10700 != java.lang.Double.doubleToLongBits(
10706 != java.lang.Double.doubleToLongBits(
10712 != java.lang.Double.doubleToLongBits(
10718 != java.lang.Double.doubleToLongBits(
10729 != java.lang.Double.doubleToLongBits(
10735 != java.lang.Double.doubleToLongBits(
10738 if (!restartAlgorithms_.equals(other.restartAlgorithms_))
return false;
10757 != java.lang.Double.doubleToLongBits(
10763 != java.lang.Double.doubleToLongBits(
10779 != java.lang.Double.doubleToLongBits(
10790 != java.lang.Double.doubleToLongBits(
10796 != java.lang.Double.doubleToLongBits(
10802 != java.lang.Double.doubleToLongBits(
10818 != java.lang.Double.doubleToLongBits(
10824 != java.lang.Double.doubleToLongBits(
10855 != java.lang.Double.doubleToLongBits(
10861 != java.lang.Double.doubleToLongBits(
10912 != java.lang.Double.doubleToLongBits(
10918 != java.lang.Double.doubleToLongBits(
10994 != java.lang.Double.doubleToLongBits(
11000 != java.lang.Double.doubleToLongBits(
11118 if (maxSatAssumptionOrder_ != other.maxSatAssumptionOrder_)
return false;
11127 if (maxSatStratification_ != other.maxSatStratification_)
return false;
11132 != java.lang.Double.doubleToLongBits(
11278 != java.lang.Double.doubleToLongBits(
11294 != java.lang.Double.doubleToLongBits(
11300 != java.lang.Double.doubleToLongBits(
11315 if (searchBranching_ != other.searchBranching_)
return false;
11375 != java.lang.Double.doubleToLongBits(
11431 != java.lang.Double.doubleToLongBits(
11437 != java.lang.Double.doubleToLongBits(
11443 != java.lang.Double.doubleToLongBits(
11474 != java.lang.Double.doubleToLongBits(
11484 if (sharedTreeSplitStrategy_ != other.sharedTreeSplitStrategy_)
return false;
11558 if (fpRounding_ != other.fpRounding_)
return false;
11633 != java.lang.Double.doubleToLongBits(
11639 != java.lang.Double.doubleToLongBits(
11660 != java.lang.Double.doubleToLongBits(
11671 != java.lang.Double.doubleToLongBits(
11682 != java.lang.Double.doubleToLongBits(
11688 != java.lang.Double.doubleToLongBits(
11691 if (!getUnknownFields().equals(other.getUnknownFields()))
return false;
11695 @java.lang.Override
11697 if (memoizedHashCode != 0) {
11698 return memoizedHashCode;
11704 hash = (53 * hash) +
getName().hashCode();
11708 hash = (53 * hash) + preferredVariableOrder_;
11712 hash = (53 * hash) + initialPolarity_;
11716 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11725 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11730 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11735 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11740 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11745 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11750 hash = (53 * hash) + minimizationAlgorithm_;
11754 hash = (53 * hash) + binaryMinimizationAlgorithm_;
11758 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11771 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11776 hash = (53 * hash) + clauseCleanupProtection_;
11784 hash = (53 * hash) + clauseCleanupOrdering_;
11792 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11805 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11810 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11815 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11820 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11829 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11834 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11839 hash = (53 * hash) + restartAlgorithms_.hashCode();
11855 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11860 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11865 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11874 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11883 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11888 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11893 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11898 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11903 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11908 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11913 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11922 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11927 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11932 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11937 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11942 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11947 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11952 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11961 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11966 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11971 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11976 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11981 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11994 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11999 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12004 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12009 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12022 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12031 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12036 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12041 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12050 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12055 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12060 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12065 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12070 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12075 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12084 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12089 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12094 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12099 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12104 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12137 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12146 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12151 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12156 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12161 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12170 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12175 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12180 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12185 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12190 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12195 hash = (53 * hash) + maxSatAssumptionOrder_;
12199 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12204 hash = (53 * hash) + maxSatStratification_;
12208 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12213 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12222 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12227 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12232 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12237 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12242 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12247 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12252 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12257 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12262 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12267 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12292 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12297 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12302 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12307 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12312 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12317 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12326 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12335 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12344 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12357 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12362 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12375 hash = (53 * hash) + searchBranching_;
12383 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12388 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12393 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12398 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12403 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12408 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12413 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12418 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12423 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12428 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12433 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12438 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12443 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12448 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12453 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12458 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12467 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12472 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12477 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12482 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12487 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12492 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12497 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12502 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12519 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12524 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12533 hash = (53 * hash) + sharedTreeSplitStrategy_;
12537 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12542 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12547 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12552 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12557 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12562 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12567 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12572 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12577 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12582 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12591 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12596 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12601 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12606 hash = (53 * hash) + fpRounding_;
12610 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12615 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12620 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12625 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12630 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12635 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12640 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12645 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12650 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12655 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12660 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12669 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12678 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12683 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12688 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12693 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12698 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12703 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12712 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12717 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
12722 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12727 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
12730 hash = (29 * hash) + getUnknownFields().hashCode();
12731 memoizedHashCode = hash;
12736 java.nio.ByteBuffer data)
12737 throws com.google.protobuf.InvalidProtocolBufferException {
12741 java.nio.ByteBuffer data,
12742 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12743 throws com.google.protobuf.InvalidProtocolBufferException {
12747 com.google.protobuf.ByteString data)
12748 throws com.google.protobuf.InvalidProtocolBufferException {
12752 com.google.protobuf.ByteString data,
12753 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12754 throws com.google.protobuf.InvalidProtocolBufferException {
12758 throws com.google.protobuf.InvalidProtocolBufferException {
12763 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12764 throws com.google.protobuf.InvalidProtocolBufferException {
12768 throws java.io.IOException {
12769 return com.google.protobuf.GeneratedMessageV3
12770 .parseWithIOException(
PARSER, input);
12773 java.io.InputStream input,
12774 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12775 throws java.io.IOException {
12776 return com.google.protobuf.GeneratedMessageV3
12777 .parseWithIOException(
PARSER, input, extensionRegistry);
12781 throws java.io.IOException {
12782 return com.google.protobuf.GeneratedMessageV3
12783 .parseDelimitedWithIOException(
PARSER, input);
12787 java.io.InputStream input,
12788 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12789 throws java.io.IOException {
12790 return com.google.protobuf.GeneratedMessageV3
12791 .parseDelimitedWithIOException(
PARSER, input, extensionRegistry);
12794 com.google.protobuf.CodedInputStream input)
12795 throws java.io.IOException {
12796 return com.google.protobuf.GeneratedMessageV3
12797 .parseWithIOException(
PARSER, input);
12800 com.google.protobuf.CodedInputStream input,
12801 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12802 throws java.io.IOException {
12803 return com.google.protobuf.GeneratedMessageV3
12804 .parseWithIOException(
PARSER, input, extensionRegistry);
12807 @java.lang.Override
12815 @java.lang.Override
12817 return this == DEFAULT_INSTANCE
12821 @java.lang.Override
12823 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
12838 com.google.protobuf.GeneratedMessageV3.
Builder<Builder> implements
12841 public static final com.google.protobuf.Descriptors.Descriptor
12843 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
12846 @java.lang.Override
12847 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
12849 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_fieldAccessorTable
12850 .ensureFieldAccessorsInitialized(
12851 com.google.ortools.sat.SatParameters.class, com.google.ortools.sat.SatParameters.Builder.class);
12860 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
12864 @java.lang.Override
12875 preferredVariableOrder_ = 0;
12876 initialPolarity_ = 1;
12877 usePhaseSaving_ =
true;
12878 polarityRephaseIncrement_ = 1000;
12879 randomPolarityRatio_ = 0D;
12880 randomBranchesRatio_ = 0D;
12881 useErwaHeuristic_ =
false;
12882 initialVariablesActivity_ = 0D;
12883 alsoBumpVariablesInConflictReasons_ =
false;
12884 minimizationAlgorithm_ = 2;
12885 binaryMinimizationAlgorithm_ = 1;
12886 subsumptionDuringConflictAnalysis_ =
true;
12887 clauseCleanupPeriod_ = 10000;
12888 clauseCleanupTarget_ = 0;
12889 clauseCleanupRatio_ = 0.5D;
12890 clauseCleanupProtection_ = 0;
12891 clauseCleanupLbdBound_ = 5;
12892 clauseCleanupOrdering_ = 0;
12893 pbCleanupIncrement_ = 200;
12894 pbCleanupRatio_ = 0.5D;
12895 minimizeWithPropagationRestartPeriod_ = 10;
12896 minimizeWithPropagationNumDecisions_ = 1000;
12897 variableActivityDecay_ = 0.8D;
12898 maxVariableActivityValue_ = 1e+100D;
12899 glucoseMaxDecay_ = 0.95D;
12900 glucoseDecayIncrement_ = 0.01D;
12901 glucoseDecayIncrementPeriod_ = 5000;
12902 clauseActivityDecay_ = 0.999D;
12903 maxClauseActivityValue_ = 1e+20D;
12904 restartAlgorithms_ = java.util.Collections.emptyList();
12905 bitField0_ = (bitField0_ & ~0x40000000);
12906 defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
12907 restartPeriod_ = 50;
12908 restartRunningWindowSize_ = 50;
12909 restartDlAverageRatio_ = 1D;
12910 restartLbdAverageRatio_ = 1D;
12911 useBlockingRestart_ =
false;
12912 blockingRestartWindowSize_ = 5000;
12913 blockingRestartMultiplier_ = 1.4D;
12914 numConflictsBeforeStrategyChanges_ = 0;
12915 strategyChangeIncreaseRatio_ = 0D;
12916 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
12917 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
12918 maxNumberOfConflicts_ = 9223372036854775807L;
12919 maxMemoryInMb_ = 10000L;
12920 absoluteGapLimit_ = 0.0001D;
12921 relativeGapLimit_ = 0D;
12923 permuteVariableRandomly_ =
false;
12924 permutePresolveConstraintOrder_ =
false;
12925 useAbslRandom_ =
false;
12926 logSearchProgress_ =
false;
12927 logFrequencyInSeconds_ = -1D;
12928 modelReductionLogFrequencyInSeconds_ = 5D;
12929 logSubsolverStatistics_ =
false;
12931 logToStdout_ =
true;
12932 logToResponse_ =
false;
12933 usePbResolution_ =
false;
12934 minimizeReductionDuringPbResolution_ =
false;
12935 countAssumptionLevelsInLbd_ =
true;
12936 presolveBveThreshold_ = 500;
12937 presolveBveClauseWeight_ = 3;
12938 probingDeterministicTimeLimit_ = 1D;
12939 presolveProbingDeterministicTimeLimit_ = 30D;
12940 presolveBlockedClause_ =
true;
12941 presolveUseBva_ =
true;
12942 presolveBvaThreshold_ = 1;
12943 maxPresolveIterations_ = 3;
12944 cpModelPresolve_ =
true;
12945 cpModelProbingLevel_ = 2;
12946 cpModelUseSatPresolve_ =
true;
12947 useSatInprocessing_ =
false;
12948 detectTableWithCost_ =
false;
12949 tableCompressionLevel_ = 2;
12950 expandAlldiffConstraints_ =
false;
12951 expandReservoirConstraints_ =
true;
12952 disableConstraintExpansion_ =
false;
12953 encodeComplexLinearConstraintWithInteger_ =
false;
12954 mergeNoOverlapWorkLimit_ = 1000000000000D;
12955 mergeAtMostOneWorkLimit_ = 100000000D;
12956 presolveSubstitutionLevel_ = 1;
12957 presolveExtractIntegerEnforcement_ =
false;
12958 presolveInclusionWorkLimit_ = 100000000L;
12959 ignoreNames_ =
true;
12960 inferAllDiffs_ =
true;
12961 findBigLinearOverlap_ =
true;
12963 numSearchWorkers_ = 0;
12964 minNumLnsWorkers_ = 2;
12966 com.google.protobuf.LazyStringArrayList.emptyList();
12968 com.google.protobuf.LazyStringArrayList.emptyList();
12969 ignoreSubsolvers_ =
12970 com.google.protobuf.LazyStringArrayList.emptyList();
12971 if (subsolverParamsBuilder_ ==
null) {
12972 subsolverParams_ = java.util.Collections.emptyList();
12974 subsolverParams_ =
null;
12975 subsolverParamsBuilder_.clear();
12977 bitField2_ = (bitField2_ & ~0x20000000);
12978 interleaveSearch_ =
false;
12979 interleaveBatchSize_ = 0;
12980 shareObjectiveBounds_ =
true;
12981 shareLevelZeroBounds_ =
true;
12982 shareBinaryClauses_ =
true;
12983 debugPostsolveWithFullSolver_ =
false;
12984 debugMaxNumPresolveOperations_ = 0;
12985 debugCrashOnBadHint_ =
false;
12986 useOptimizationHints_ =
true;
12987 minimizeCore_ =
true;
12988 findMultipleCores_ =
true;
12989 coverOptimization_ =
true;
12990 maxSatAssumptionOrder_ = 0;
12991 maxSatReverseAssumptionOrder_ =
false;
12992 maxSatStratification_ = 1;
12993 propagationLoopDetectionFactor_ = 10D;
12994 usePrecedencesInDisjunctiveConstraint_ =
true;
12995 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
12996 useStrongPropagationInDisjunctive_ =
false;
12997 useOverloadCheckerInCumulative_ =
false;
12998 useTimetableEdgeFindingInCumulative_ =
false;
12999 useHardPrecedencesInCumulative_ =
false;
13000 exploitAllPrecedences_ =
false;
13001 useDisjunctiveConstraintInCumulative_ =
true;
13002 useTimetablingInNoOverlap2D_ =
false;
13003 useEnergeticReasoningInNoOverlap2D_ =
false;
13004 usePairwiseReasoningInNoOverlap2D_ =
false;
13005 useDualSchedulingHeuristics_ =
true;
13006 linearizationLevel_ = 1;
13007 booleanEncodingLevel_ = 1;
13008 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
13009 maxNumCuts_ = 10000;
13011 onlyAddCutsAtLevelZero_ =
false;
13012 addObjectiveCut_ =
false;
13014 addMirCuts_ =
true;
13015 addZeroHalfCuts_ =
true;
13016 addCliqueCuts_ =
true;
13017 maxAllDiffCutSize_ = 64;
13018 addLinMaxCuts_ =
true;
13019 maxIntegerRoundingScaling_ = 600;
13020 addLpConstraintsLazily_ =
true;
13021 rootLpIterations_ = 2000;
13022 minOrthogonalityForLpConstraints_ = 0.05D;
13023 maxCutRoundsAtLevelZero_ = 1;
13024 maxConsecutiveInactiveCount_ = 100;
13025 cutMaxActiveCountValue_ = 10000000000D;
13026 cutActiveCountDecay_ = 0.8D;
13027 cutCleanupTarget_ = 1000;
13028 newConstraintsBatchSize_ = 50;
13029 searchBranching_ = 0;
13030 hintConflictLimit_ = 10;
13031 repairHint_ =
false;
13032 fixVariablesToTheirHintedValue_ =
false;
13033 exploitIntegerLpSolution_ =
true;
13034 exploitAllLpSolution_ =
true;
13035 exploitBestSolution_ =
false;
13036 exploitRelaxationSolution_ =
false;
13037 exploitObjective_ =
true;
13038 probingPeriodAtRoot_ = 0L;
13039 useProbingSearch_ =
false;
13040 useShavingInProbingSearch_ =
true;
13041 shavingSearchDeterministicTime_ = 0.001D;
13042 useObjectiveLbSearch_ =
false;
13043 useObjectiveShavingSearch_ =
false;
13044 pseudoCostReliabilityThreshold_ = 100L;
13045 optimizeWithCore_ =
false;
13046 optimizeWithLbTreeSearch_ =
false;
13047 binarySearchNumConflicts_ = -1;
13048 optimizeWithMaxHs_ =
false;
13049 testFeasibilityJump_ =
false;
13050 feasibilityJumpMaxNumValuesScanned_ = 4096L;
13051 feasibilityJumpProtectLinearFeasibility_ =
true;
13052 feasibilityJumpDecay_ = 1D;
13053 feasibilityJumpVarRandomizationProbability_ = 0D;
13054 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
13055 feasibilityJumpEnableRestarts_ =
true;
13056 numViolationLs_ = 0;
13057 violationLsPerturbationPeriod_ = 100;
13058 sharedTreeNumWorkers_ = 0;
13059 useSharedTreeSearch_ =
false;
13060 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
13061 sharedTreeMaxNodesPerWorker_ = 128;
13062 sharedTreeSplitStrategy_ = 0;
13063 enumerateAllSolutions_ =
false;
13064 keepAllFeasibleSolutionsInPresolve_ =
false;
13065 fillTightenedDomainsInResponse_ =
false;
13066 fillAdditionalSolutionsInResponse_ =
false;
13067 instantiateAllVariables_ =
true;
13068 autoDetectGreaterThanAtLeastOneOf_ =
true;
13069 stopAfterFirstSolution_ =
false;
13070 stopAfterPresolve_ =
false;
13071 stopAfterRootPropagation_ =
false;
13072 useLnsOnly_ =
false;
13073 solutionPoolSize_ = 3;
13074 useRinsLns_ =
true;
13075 useFeasibilityPump_ =
true;
13076 useLbRelaxLns_ =
false;
13078 diversifyLnsParams_ =
false;
13079 randomizeSearch_ =
false;
13080 searchRandomizationTolerance_ = 0L;
13081 useOptionalVariables_ =
false;
13082 useExactLpReason_ =
true;
13083 useBranchingInLp_ =
false;
13084 useCombinedNoOverlap_ =
false;
13085 catchSigintSignal_ =
true;
13086 useImpliedBounds_ =
true;
13087 polishLpSolution_ =
false;
13088 convertIntervals_ =
true;
13089 symmetryLevel_ = 2;
13090 newLinearPropagation_ =
false;
13091 linearSplitSize_ = 100;
13092 mipMaxBound_ = 10000000D;
13093 mipVarScaling_ = 1D;
13094 mipScaleLargeDomain_ =
false;
13095 mipAutomaticallyScaleVariables_ =
true;
13096 onlySolveIp_ =
false;
13097 mipWantedPrecision_ = 1e-06D;
13098 mipMaxActivityExponent_ = 53;
13099 mipCheckPrecision_ = 0.0001D;
13100 mipComputeTrueObjectiveBound_ =
true;
13101 mipMaxValidMagnitude_ = 1e+30D;
13102 mipDropTolerance_ = 1e-16D;
13106 @java.lang.Override
13107 public com.google.protobuf.Descriptors.Descriptor
13109 return com.google.ortools.sat.SatParametersOuterClass.internal_static_operations_research_sat_SatParameters_descriptor;
13112 @java.lang.Override
13114 return com.google.ortools.sat.SatParameters.getDefaultInstance();
13117 @java.lang.Override
13121 throw newUninitializedMessageException(result);
13126 @java.lang.Override
13129 buildPartialRepeatedFields(result);
13130 if (bitField0_ != 0) { buildPartial0(result); }
13131 if (bitField1_ != 0) { buildPartial1(result); }
13132 if (bitField2_ != 0) { buildPartial2(result); }
13133 if (bitField3_ != 0) { buildPartial3(result); }
13134 if (bitField4_ != 0) { buildPartial4(result); }
13135 if (bitField5_ != 0) { buildPartial5(result); }
13136 if (bitField6_ != 0) { buildPartial6(result); }
13141 private void buildPartialRepeatedFields(com.google.ortools.sat.SatParameters result) {
13142 if (((bitField0_ & 0x40000000) != 0)) {
13143 restartAlgorithms_ = java.util.Collections.unmodifiableList(restartAlgorithms_);
13144 bitField0_ = (bitField0_ & ~0x40000000);
13146 result.restartAlgorithms_ = restartAlgorithms_;
13147 if (subsolverParamsBuilder_ ==
null) {
13148 if (((bitField2_ & 0x20000000) != 0)) {
13149 subsolverParams_ = java.util.Collections.unmodifiableList(subsolverParams_);
13150 bitField2_ = (bitField2_ & ~0x20000000);
13152 result.subsolverParams_ = subsolverParams_;
13154 result.subsolverParams_ = subsolverParamsBuilder_.build();
13158 private void buildPartial0(com.google.ortools.sat.SatParameters result) {
13159 int from_bitField0_ = bitField0_;
13160 int to_bitField0_ = 0;
13161 if (((from_bitField0_ & 0x00000001) != 0)) {
13162 result.name_ = name_;
13163 to_bitField0_ |= 0x00000001;
13165 if (((from_bitField0_ & 0x00000002) != 0)) {
13166 result.preferredVariableOrder_ = preferredVariableOrder_;
13167 to_bitField0_ |= 0x00000002;
13169 if (((from_bitField0_ & 0x00000004) != 0)) {
13170 result.initialPolarity_ = initialPolarity_;
13171 to_bitField0_ |= 0x00000004;
13173 if (((from_bitField0_ & 0x00000008) != 0)) {
13174 result.usePhaseSaving_ = usePhaseSaving_;
13175 to_bitField0_ |= 0x00000008;
13177 if (((from_bitField0_ & 0x00000010) != 0)) {
13178 result.polarityRephaseIncrement_ = polarityRephaseIncrement_;
13179 to_bitField0_ |= 0x00000010;
13181 if (((from_bitField0_ & 0x00000020) != 0)) {
13182 result.randomPolarityRatio_ = randomPolarityRatio_;
13183 to_bitField0_ |= 0x00000020;
13185 if (((from_bitField0_ & 0x00000040) != 0)) {
13186 result.randomBranchesRatio_ = randomBranchesRatio_;
13187 to_bitField0_ |= 0x00000040;
13189 if (((from_bitField0_ & 0x00000080) != 0)) {
13190 result.useErwaHeuristic_ = useErwaHeuristic_;
13191 to_bitField0_ |= 0x00000080;
13193 if (((from_bitField0_ & 0x00000100) != 0)) {
13194 result.initialVariablesActivity_ = initialVariablesActivity_;
13195 to_bitField0_ |= 0x00000100;
13197 if (((from_bitField0_ & 0x00000200) != 0)) {
13198 result.alsoBumpVariablesInConflictReasons_ = alsoBumpVariablesInConflictReasons_;
13199 to_bitField0_ |= 0x00000200;
13201 if (((from_bitField0_ & 0x00000400) != 0)) {
13202 result.minimizationAlgorithm_ = minimizationAlgorithm_;
13203 to_bitField0_ |= 0x00000400;
13205 if (((from_bitField0_ & 0x00000800) != 0)) {
13206 result.binaryMinimizationAlgorithm_ = binaryMinimizationAlgorithm_;
13207 to_bitField0_ |= 0x00000800;
13209 if (((from_bitField0_ & 0x00001000) != 0)) {
13210 result.subsumptionDuringConflictAnalysis_ = subsumptionDuringConflictAnalysis_;
13211 to_bitField0_ |= 0x00001000;
13213 if (((from_bitField0_ & 0x00002000) != 0)) {
13214 result.clauseCleanupPeriod_ = clauseCleanupPeriod_;
13215 to_bitField0_ |= 0x00002000;
13217 if (((from_bitField0_ & 0x00004000) != 0)) {
13218 result.clauseCleanupTarget_ = clauseCleanupTarget_;
13219 to_bitField0_ |= 0x00004000;
13221 if (((from_bitField0_ & 0x00008000) != 0)) {
13222 result.clauseCleanupRatio_ = clauseCleanupRatio_;
13223 to_bitField0_ |= 0x00008000;
13225 if (((from_bitField0_ & 0x00010000) != 0)) {
13226 result.clauseCleanupProtection_ = clauseCleanupProtection_;
13227 to_bitField0_ |= 0x00010000;
13229 if (((from_bitField0_ & 0x00020000) != 0)) {
13230 result.clauseCleanupLbdBound_ = clauseCleanupLbdBound_;
13231 to_bitField0_ |= 0x00020000;
13233 if (((from_bitField0_ & 0x00040000) != 0)) {
13234 result.clauseCleanupOrdering_ = clauseCleanupOrdering_;
13235 to_bitField0_ |= 0x00040000;
13237 if (((from_bitField0_ & 0x00080000) != 0)) {
13238 result.pbCleanupIncrement_ = pbCleanupIncrement_;
13239 to_bitField0_ |= 0x00080000;
13241 if (((from_bitField0_ & 0x00100000) != 0)) {
13242 result.pbCleanupRatio_ = pbCleanupRatio_;
13243 to_bitField0_ |= 0x00100000;
13245 if (((from_bitField0_ & 0x00200000) != 0)) {
13246 result.minimizeWithPropagationRestartPeriod_ = minimizeWithPropagationRestartPeriod_;
13247 to_bitField0_ |= 0x00200000;
13249 if (((from_bitField0_ & 0x00400000) != 0)) {
13250 result.minimizeWithPropagationNumDecisions_ = minimizeWithPropagationNumDecisions_;
13251 to_bitField0_ |= 0x00400000;
13253 if (((from_bitField0_ & 0x00800000) != 0)) {
13254 result.variableActivityDecay_ = variableActivityDecay_;
13255 to_bitField0_ |= 0x00800000;
13257 if (((from_bitField0_ & 0x01000000) != 0)) {
13258 result.maxVariableActivityValue_ = maxVariableActivityValue_;
13259 to_bitField0_ |= 0x01000000;
13261 if (((from_bitField0_ & 0x02000000) != 0)) {
13262 result.glucoseMaxDecay_ = glucoseMaxDecay_;
13263 to_bitField0_ |= 0x02000000;
13265 if (((from_bitField0_ & 0x04000000) != 0)) {
13266 result.glucoseDecayIncrement_ = glucoseDecayIncrement_;
13267 to_bitField0_ |= 0x04000000;
13269 if (((from_bitField0_ & 0x08000000) != 0)) {
13270 result.glucoseDecayIncrementPeriod_ = glucoseDecayIncrementPeriod_;
13271 to_bitField0_ |= 0x08000000;
13273 if (((from_bitField0_ & 0x10000000) != 0)) {
13274 result.clauseActivityDecay_ = clauseActivityDecay_;
13275 to_bitField0_ |= 0x10000000;
13277 if (((from_bitField0_ & 0x20000000) != 0)) {
13278 result.maxClauseActivityValue_ = maxClauseActivityValue_;
13279 to_bitField0_ |= 0x20000000;
13281 if (((from_bitField0_ & 0x80000000) != 0)) {
13282 result.defaultRestartAlgorithms_ = defaultRestartAlgorithms_;
13283 to_bitField0_ |= 0x40000000;
13285 result.bitField0_ |= to_bitField0_;
13288 private void buildPartial1(com.google.ortools.sat.SatParameters result) {
13289 int from_bitField1_ = bitField1_;
13290 int to_bitField0_ = 0;
13291 if (((from_bitField1_ & 0x00000001) != 0)) {
13292 result.restartPeriod_ = restartPeriod_;
13293 to_bitField0_ |= 0x80000000;
13295 int to_bitField1_ = 0;
13296 if (((from_bitField1_ & 0x00000002) != 0)) {
13297 result.restartRunningWindowSize_ = restartRunningWindowSize_;
13298 to_bitField1_ |= 0x00000001;
13300 if (((from_bitField1_ & 0x00000004) != 0)) {
13301 result.restartDlAverageRatio_ = restartDlAverageRatio_;
13302 to_bitField1_ |= 0x00000002;
13304 if (((from_bitField1_ & 0x00000008) != 0)) {
13305 result.restartLbdAverageRatio_ = restartLbdAverageRatio_;
13306 to_bitField1_ |= 0x00000004;
13308 if (((from_bitField1_ & 0x00000010) != 0)) {
13309 result.useBlockingRestart_ = useBlockingRestart_;
13310 to_bitField1_ |= 0x00000008;
13312 if (((from_bitField1_ & 0x00000020) != 0)) {
13313 result.blockingRestartWindowSize_ = blockingRestartWindowSize_;
13314 to_bitField1_ |= 0x00000010;
13316 if (((from_bitField1_ & 0x00000040) != 0)) {
13317 result.blockingRestartMultiplier_ = blockingRestartMultiplier_;
13318 to_bitField1_ |= 0x00000020;
13320 if (((from_bitField1_ & 0x00000080) != 0)) {
13321 result.numConflictsBeforeStrategyChanges_ = numConflictsBeforeStrategyChanges_;
13322 to_bitField1_ |= 0x00000040;
13324 if (((from_bitField1_ & 0x00000100) != 0)) {
13325 result.strategyChangeIncreaseRatio_ = strategyChangeIncreaseRatio_;
13326 to_bitField1_ |= 0x00000080;
13328 if (((from_bitField1_ & 0x00000200) != 0)) {
13329 result.maxTimeInSeconds_ = maxTimeInSeconds_;
13330 to_bitField1_ |= 0x00000100;
13332 if (((from_bitField1_ & 0x00000400) != 0)) {
13333 result.maxDeterministicTime_ = maxDeterministicTime_;
13334 to_bitField1_ |= 0x00000200;
13336 if (((from_bitField1_ & 0x00000800) != 0)) {
13337 result.maxNumberOfConflicts_ = maxNumberOfConflicts_;
13338 to_bitField1_ |= 0x00000400;
13340 if (((from_bitField1_ & 0x00001000) != 0)) {
13341 result.maxMemoryInMb_ = maxMemoryInMb_;
13342 to_bitField1_ |= 0x00000800;
13344 if (((from_bitField1_ & 0x00002000) != 0)) {
13345 result.absoluteGapLimit_ = absoluteGapLimit_;
13346 to_bitField1_ |= 0x00001000;
13348 if (((from_bitField1_ & 0x00004000) != 0)) {
13349 result.relativeGapLimit_ = relativeGapLimit_;
13350 to_bitField1_ |= 0x00002000;
13352 if (((from_bitField1_ & 0x00008000) != 0)) {
13353 result.randomSeed_ = randomSeed_;
13354 to_bitField1_ |= 0x00004000;
13356 if (((from_bitField1_ & 0x00010000) != 0)) {
13357 result.permuteVariableRandomly_ = permuteVariableRandomly_;
13358 to_bitField1_ |= 0x00008000;
13360 if (((from_bitField1_ & 0x00020000) != 0)) {
13361 result.permutePresolveConstraintOrder_ = permutePresolveConstraintOrder_;
13362 to_bitField1_ |= 0x00010000;
13364 if (((from_bitField1_ & 0x00040000) != 0)) {
13365 result.useAbslRandom_ = useAbslRandom_;
13366 to_bitField1_ |= 0x00020000;
13368 if (((from_bitField1_ & 0x00080000) != 0)) {
13369 result.logSearchProgress_ = logSearchProgress_;
13370 to_bitField1_ |= 0x00040000;
13372 if (((from_bitField1_ & 0x00100000) != 0)) {
13373 result.logFrequencyInSeconds_ = logFrequencyInSeconds_;
13374 to_bitField1_ |= 0x00080000;
13376 if (((from_bitField1_ & 0x00200000) != 0)) {
13377 result.modelReductionLogFrequencyInSeconds_ = modelReductionLogFrequencyInSeconds_;
13378 to_bitField1_ |= 0x00100000;
13380 if (((from_bitField1_ & 0x00400000) != 0)) {
13381 result.logSubsolverStatistics_ = logSubsolverStatistics_;
13382 to_bitField1_ |= 0x00200000;
13384 if (((from_bitField1_ & 0x00800000) != 0)) {
13385 result.logPrefix_ = logPrefix_;
13386 to_bitField1_ |= 0x00400000;
13388 if (((from_bitField1_ & 0x01000000) != 0)) {
13389 result.logToStdout_ = logToStdout_;
13390 to_bitField1_ |= 0x00800000;
13392 if (((from_bitField1_ & 0x02000000) != 0)) {
13393 result.logToResponse_ = logToResponse_;
13394 to_bitField1_ |= 0x01000000;
13396 if (((from_bitField1_ & 0x04000000) != 0)) {
13397 result.usePbResolution_ = usePbResolution_;
13398 to_bitField1_ |= 0x02000000;
13400 if (((from_bitField1_ & 0x08000000) != 0)) {
13401 result.minimizeReductionDuringPbResolution_ = minimizeReductionDuringPbResolution_;
13402 to_bitField1_ |= 0x04000000;
13404 if (((from_bitField1_ & 0x10000000) != 0)) {
13405 result.countAssumptionLevelsInLbd_ = countAssumptionLevelsInLbd_;
13406 to_bitField1_ |= 0x08000000;
13408 if (((from_bitField1_ & 0x20000000) != 0)) {
13409 result.presolveBveThreshold_ = presolveBveThreshold_;
13410 to_bitField1_ |= 0x10000000;
13412 if (((from_bitField1_ & 0x40000000) != 0)) {
13413 result.presolveBveClauseWeight_ = presolveBveClauseWeight_;
13414 to_bitField1_ |= 0x20000000;
13416 if (((from_bitField1_ & 0x80000000) != 0)) {
13417 result.probingDeterministicTimeLimit_ = probingDeterministicTimeLimit_;
13418 to_bitField1_ |= 0x40000000;
13420 result.bitField0_ |= to_bitField0_;
13421 result.bitField1_ |= to_bitField1_;
13424 private void buildPartial2(com.google.ortools.sat.SatParameters result) {
13425 int from_bitField2_ = bitField2_;
13426 int to_bitField1_ = 0;
13427 if (((from_bitField2_ & 0x00000001) != 0)) {
13428 result.presolveProbingDeterministicTimeLimit_ = presolveProbingDeterministicTimeLimit_;
13429 to_bitField1_ |= 0x80000000;
13431 int to_bitField2_ = 0;
13432 if (((from_bitField2_ & 0x00000002) != 0)) {
13433 result.presolveBlockedClause_ = presolveBlockedClause_;
13434 to_bitField2_ |= 0x00000001;
13436 if (((from_bitField2_ & 0x00000004) != 0)) {
13437 result.presolveUseBva_ = presolveUseBva_;
13438 to_bitField2_ |= 0x00000002;
13440 if (((from_bitField2_ & 0x00000008) != 0)) {
13441 result.presolveBvaThreshold_ = presolveBvaThreshold_;
13442 to_bitField2_ |= 0x00000004;
13444 if (((from_bitField2_ & 0x00000010) != 0)) {
13445 result.maxPresolveIterations_ = maxPresolveIterations_;
13446 to_bitField2_ |= 0x00000008;
13448 if (((from_bitField2_ & 0x00000020) != 0)) {
13449 result.cpModelPresolve_ = cpModelPresolve_;
13450 to_bitField2_ |= 0x00000010;
13452 if (((from_bitField2_ & 0x00000040) != 0)) {
13453 result.cpModelProbingLevel_ = cpModelProbingLevel_;
13454 to_bitField2_ |= 0x00000020;
13456 if (((from_bitField2_ & 0x00000080) != 0)) {
13457 result.cpModelUseSatPresolve_ = cpModelUseSatPresolve_;
13458 to_bitField2_ |= 0x00000040;
13460 if (((from_bitField2_ & 0x00000100) != 0)) {
13461 result.useSatInprocessing_ = useSatInprocessing_;
13462 to_bitField2_ |= 0x00000080;
13464 if (((from_bitField2_ & 0x00000200) != 0)) {
13465 result.detectTableWithCost_ = detectTableWithCost_;
13466 to_bitField2_ |= 0x00000100;
13468 if (((from_bitField2_ & 0x00000400) != 0)) {
13469 result.tableCompressionLevel_ = tableCompressionLevel_;
13470 to_bitField2_ |= 0x00000200;
13472 if (((from_bitField2_ & 0x00000800) != 0)) {
13473 result.expandAlldiffConstraints_ = expandAlldiffConstraints_;
13474 to_bitField2_ |= 0x00000400;
13476 if (((from_bitField2_ & 0x00001000) != 0)) {
13477 result.expandReservoirConstraints_ = expandReservoirConstraints_;
13478 to_bitField2_ |= 0x00000800;
13480 if (((from_bitField2_ & 0x00002000) != 0)) {
13481 result.disableConstraintExpansion_ = disableConstraintExpansion_;
13482 to_bitField2_ |= 0x00001000;
13484 if (((from_bitField2_ & 0x00004000) != 0)) {
13485 result.encodeComplexLinearConstraintWithInteger_ = encodeComplexLinearConstraintWithInteger_;
13486 to_bitField2_ |= 0x00002000;
13488 if (((from_bitField2_ & 0x00008000) != 0)) {
13489 result.mergeNoOverlapWorkLimit_ = mergeNoOverlapWorkLimit_;
13490 to_bitField2_ |= 0x00004000;
13492 if (((from_bitField2_ & 0x00010000) != 0)) {
13493 result.mergeAtMostOneWorkLimit_ = mergeAtMostOneWorkLimit_;
13494 to_bitField2_ |= 0x00008000;
13496 if (((from_bitField2_ & 0x00020000) != 0)) {
13497 result.presolveSubstitutionLevel_ = presolveSubstitutionLevel_;
13498 to_bitField2_ |= 0x00010000;
13500 if (((from_bitField2_ & 0x00040000) != 0)) {
13501 result.presolveExtractIntegerEnforcement_ = presolveExtractIntegerEnforcement_;
13502 to_bitField2_ |= 0x00020000;
13504 if (((from_bitField2_ & 0x00080000) != 0)) {
13505 result.presolveInclusionWorkLimit_ = presolveInclusionWorkLimit_;
13506 to_bitField2_ |= 0x00040000;
13508 if (((from_bitField2_ & 0x00100000) != 0)) {
13509 result.ignoreNames_ = ignoreNames_;
13510 to_bitField2_ |= 0x00080000;
13512 if (((from_bitField2_ & 0x00200000) != 0)) {
13513 result.inferAllDiffs_ = inferAllDiffs_;
13514 to_bitField2_ |= 0x00100000;
13516 if (((from_bitField2_ & 0x00400000) != 0)) {
13517 result.findBigLinearOverlap_ = findBigLinearOverlap_;
13518 to_bitField2_ |= 0x00200000;
13520 if (((from_bitField2_ & 0x00800000) != 0)) {
13521 result.numWorkers_ = numWorkers_;
13522 to_bitField2_ |= 0x00400000;
13524 if (((from_bitField2_ & 0x01000000) != 0)) {
13525 result.numSearchWorkers_ = numSearchWorkers_;
13526 to_bitField2_ |= 0x00800000;
13528 if (((from_bitField2_ & 0x02000000) != 0)) {
13529 result.minNumLnsWorkers_ = minNumLnsWorkers_;
13530 to_bitField2_ |= 0x01000000;
13532 if (((from_bitField2_ & 0x04000000) != 0)) {
13533 subsolvers_.makeImmutable();
13534 result.subsolvers_ = subsolvers_;
13536 if (((from_bitField2_ & 0x08000000) != 0)) {
13537 extraSubsolvers_.makeImmutable();
13538 result.extraSubsolvers_ = extraSubsolvers_;
13540 if (((from_bitField2_ & 0x10000000) != 0)) {
13541 ignoreSubsolvers_.makeImmutable();
13542 result.ignoreSubsolvers_ = ignoreSubsolvers_;
13544 if (((from_bitField2_ & 0x40000000) != 0)) {
13545 result.interleaveSearch_ = interleaveSearch_;
13546 to_bitField2_ |= 0x02000000;
13548 if (((from_bitField2_ & 0x80000000) != 0)) {
13549 result.interleaveBatchSize_ = interleaveBatchSize_;
13550 to_bitField2_ |= 0x04000000;
13552 result.bitField1_ |= to_bitField1_;
13553 result.bitField2_ |= to_bitField2_;
13556 private void buildPartial3(com.google.ortools.sat.SatParameters result) {
13557 int from_bitField3_ = bitField3_;
13558 int to_bitField2_ = 0;
13559 if (((from_bitField3_ & 0x00000001) != 0)) {
13560 result.shareObjectiveBounds_ = shareObjectiveBounds_;
13561 to_bitField2_ |= 0x08000000;
13563 if (((from_bitField3_ & 0x00000002) != 0)) {
13564 result.shareLevelZeroBounds_ = shareLevelZeroBounds_;
13565 to_bitField2_ |= 0x10000000;
13567 if (((from_bitField3_ & 0x00000004) != 0)) {
13568 result.shareBinaryClauses_ = shareBinaryClauses_;
13569 to_bitField2_ |= 0x20000000;
13571 if (((from_bitField3_ & 0x00000008) != 0)) {
13572 result.debugPostsolveWithFullSolver_ = debugPostsolveWithFullSolver_;
13573 to_bitField2_ |= 0x40000000;
13575 if (((from_bitField3_ & 0x00000010) != 0)) {
13576 result.debugMaxNumPresolveOperations_ = debugMaxNumPresolveOperations_;
13577 to_bitField2_ |= 0x80000000;
13579 int to_bitField3_ = 0;
13580 if (((from_bitField3_ & 0x00000020) != 0)) {
13581 result.debugCrashOnBadHint_ = debugCrashOnBadHint_;
13582 to_bitField3_ |= 0x00000001;
13584 if (((from_bitField3_ & 0x00000040) != 0)) {
13585 result.useOptimizationHints_ = useOptimizationHints_;
13586 to_bitField3_ |= 0x00000002;
13588 if (((from_bitField3_ & 0x00000080) != 0)) {
13589 result.minimizeCore_ = minimizeCore_;
13590 to_bitField3_ |= 0x00000004;
13592 if (((from_bitField3_ & 0x00000100) != 0)) {
13593 result.findMultipleCores_ = findMultipleCores_;
13594 to_bitField3_ |= 0x00000008;
13596 if (((from_bitField3_ & 0x00000200) != 0)) {
13597 result.coverOptimization_ = coverOptimization_;
13598 to_bitField3_ |= 0x00000010;
13600 if (((from_bitField3_ & 0x00000400) != 0)) {
13601 result.maxSatAssumptionOrder_ = maxSatAssumptionOrder_;
13602 to_bitField3_ |= 0x00000020;
13604 if (((from_bitField3_ & 0x00000800) != 0)) {
13605 result.maxSatReverseAssumptionOrder_ = maxSatReverseAssumptionOrder_;
13606 to_bitField3_ |= 0x00000040;
13608 if (((from_bitField3_ & 0x00001000) != 0)) {
13609 result.maxSatStratification_ = maxSatStratification_;
13610 to_bitField3_ |= 0x00000080;
13612 if (((from_bitField3_ & 0x00002000) != 0)) {
13613 result.propagationLoopDetectionFactor_ = propagationLoopDetectionFactor_;
13614 to_bitField3_ |= 0x00000100;
13616 if (((from_bitField3_ & 0x00004000) != 0)) {
13617 result.usePrecedencesInDisjunctiveConstraint_ = usePrecedencesInDisjunctiveConstraint_;
13618 to_bitField3_ |= 0x00000200;
13620 if (((from_bitField3_ & 0x00008000) != 0)) {
13621 result.maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
13622 to_bitField3_ |= 0x00000400;
13624 if (((from_bitField3_ & 0x00010000) != 0)) {
13625 result.useStrongPropagationInDisjunctive_ = useStrongPropagationInDisjunctive_;
13626 to_bitField3_ |= 0x00000800;
13628 if (((from_bitField3_ & 0x00020000) != 0)) {
13629 result.useOverloadCheckerInCumulative_ = useOverloadCheckerInCumulative_;
13630 to_bitField3_ |= 0x00001000;
13632 if (((from_bitField3_ & 0x00040000) != 0)) {
13633 result.useTimetableEdgeFindingInCumulative_ = useTimetableEdgeFindingInCumulative_;
13634 to_bitField3_ |= 0x00002000;
13636 if (((from_bitField3_ & 0x00080000) != 0)) {
13637 result.useHardPrecedencesInCumulative_ = useHardPrecedencesInCumulative_;
13638 to_bitField3_ |= 0x00004000;
13640 if (((from_bitField3_ & 0x00100000) != 0)) {
13641 result.exploitAllPrecedences_ = exploitAllPrecedences_;
13642 to_bitField3_ |= 0x00008000;
13644 if (((from_bitField3_ & 0x00200000) != 0)) {
13645 result.useDisjunctiveConstraintInCumulative_ = useDisjunctiveConstraintInCumulative_;
13646 to_bitField3_ |= 0x00010000;
13648 if (((from_bitField3_ & 0x00400000) != 0)) {
13649 result.useTimetablingInNoOverlap2D_ = useTimetablingInNoOverlap2D_;
13650 to_bitField3_ |= 0x00020000;
13652 if (((from_bitField3_ & 0x00800000) != 0)) {
13653 result.useEnergeticReasoningInNoOverlap2D_ = useEnergeticReasoningInNoOverlap2D_;
13654 to_bitField3_ |= 0x00040000;
13656 if (((from_bitField3_ & 0x01000000) != 0)) {
13657 result.usePairwiseReasoningInNoOverlap2D_ = usePairwiseReasoningInNoOverlap2D_;
13658 to_bitField3_ |= 0x00080000;
13660 if (((from_bitField3_ & 0x02000000) != 0)) {
13661 result.useDualSchedulingHeuristics_ = useDualSchedulingHeuristics_;
13662 to_bitField3_ |= 0x00100000;
13664 if (((from_bitField3_ & 0x04000000) != 0)) {
13665 result.linearizationLevel_ = linearizationLevel_;
13666 to_bitField3_ |= 0x00200000;
13668 if (((from_bitField3_ & 0x08000000) != 0)) {
13669 result.booleanEncodingLevel_ = booleanEncodingLevel_;
13670 to_bitField3_ |= 0x00400000;
13672 if (((from_bitField3_ & 0x10000000) != 0)) {
13673 result.maxDomainSizeWhenEncodingEqNeqConstraints_ = maxDomainSizeWhenEncodingEqNeqConstraints_;
13674 to_bitField3_ |= 0x00800000;
13676 if (((from_bitField3_ & 0x20000000) != 0)) {
13677 result.maxNumCuts_ = maxNumCuts_;
13678 to_bitField3_ |= 0x01000000;
13680 if (((from_bitField3_ & 0x40000000) != 0)) {
13681 result.cutLevel_ = cutLevel_;
13682 to_bitField3_ |= 0x02000000;
13684 if (((from_bitField3_ & 0x80000000) != 0)) {
13685 result.onlyAddCutsAtLevelZero_ = onlyAddCutsAtLevelZero_;
13686 to_bitField3_ |= 0x04000000;
13688 result.bitField2_ |= to_bitField2_;
13689 result.bitField3_ |= to_bitField3_;
13692 private void buildPartial4(com.google.ortools.sat.SatParameters result) {
13693 int from_bitField4_ = bitField4_;
13694 int to_bitField3_ = 0;
13695 if (((from_bitField4_ & 0x00000001) != 0)) {
13696 result.addObjectiveCut_ = addObjectiveCut_;
13697 to_bitField3_ |= 0x08000000;
13699 if (((from_bitField4_ & 0x00000002) != 0)) {
13700 result.addCgCuts_ = addCgCuts_;
13701 to_bitField3_ |= 0x10000000;
13703 if (((from_bitField4_ & 0x00000004) != 0)) {
13704 result.addMirCuts_ = addMirCuts_;
13705 to_bitField3_ |= 0x20000000;
13707 if (((from_bitField4_ & 0x00000008) != 0)) {
13708 result.addZeroHalfCuts_ = addZeroHalfCuts_;
13709 to_bitField3_ |= 0x40000000;
13711 if (((from_bitField4_ & 0x00000010) != 0)) {
13712 result.addCliqueCuts_ = addCliqueCuts_;
13713 to_bitField3_ |= 0x80000000;
13715 int to_bitField4_ = 0;
13716 if (((from_bitField4_ & 0x00000020) != 0)) {
13717 result.maxAllDiffCutSize_ = maxAllDiffCutSize_;
13718 to_bitField4_ |= 0x00000001;
13720 if (((from_bitField4_ & 0x00000040) != 0)) {
13721 result.addLinMaxCuts_ = addLinMaxCuts_;
13722 to_bitField4_ |= 0x00000002;
13724 if (((from_bitField4_ & 0x00000080) != 0)) {
13725 result.maxIntegerRoundingScaling_ = maxIntegerRoundingScaling_;
13726 to_bitField4_ |= 0x00000004;
13728 if (((from_bitField4_ & 0x00000100) != 0)) {
13729 result.addLpConstraintsLazily_ = addLpConstraintsLazily_;
13730 to_bitField4_ |= 0x00000008;
13732 if (((from_bitField4_ & 0x00000200) != 0)) {
13733 result.rootLpIterations_ = rootLpIterations_;
13734 to_bitField4_ |= 0x00000010;
13736 if (((from_bitField4_ & 0x00000400) != 0)) {
13737 result.minOrthogonalityForLpConstraints_ = minOrthogonalityForLpConstraints_;
13738 to_bitField4_ |= 0x00000020;
13740 if (((from_bitField4_ & 0x00000800) != 0)) {
13741 result.maxCutRoundsAtLevelZero_ = maxCutRoundsAtLevelZero_;
13742 to_bitField4_ |= 0x00000040;
13744 if (((from_bitField4_ & 0x00001000) != 0)) {
13745 result.maxConsecutiveInactiveCount_ = maxConsecutiveInactiveCount_;
13746 to_bitField4_ |= 0x00000080;
13748 if (((from_bitField4_ & 0x00002000) != 0)) {
13749 result.cutMaxActiveCountValue_ = cutMaxActiveCountValue_;
13750 to_bitField4_ |= 0x00000100;
13752 if (((from_bitField4_ & 0x00004000) != 0)) {
13753 result.cutActiveCountDecay_ = cutActiveCountDecay_;
13754 to_bitField4_ |= 0x00000200;
13756 if (((from_bitField4_ & 0x00008000) != 0)) {
13757 result.cutCleanupTarget_ = cutCleanupTarget_;
13758 to_bitField4_ |= 0x00000400;
13760 if (((from_bitField4_ & 0x00010000) != 0)) {
13761 result.newConstraintsBatchSize_ = newConstraintsBatchSize_;
13762 to_bitField4_ |= 0x00000800;
13764 if (((from_bitField4_ & 0x00020000) != 0)) {
13765 result.searchBranching_ = searchBranching_;
13766 to_bitField4_ |= 0x00001000;
13768 if (((from_bitField4_ & 0x00040000) != 0)) {
13769 result.hintConflictLimit_ = hintConflictLimit_;
13770 to_bitField4_ |= 0x00002000;
13772 if (((from_bitField4_ & 0x00080000) != 0)) {
13773 result.repairHint_ = repairHint_;
13774 to_bitField4_ |= 0x00004000;
13776 if (((from_bitField4_ & 0x00100000) != 0)) {
13777 result.fixVariablesToTheirHintedValue_ = fixVariablesToTheirHintedValue_;
13778 to_bitField4_ |= 0x00008000;
13780 if (((from_bitField4_ & 0x00200000) != 0)) {
13781 result.exploitIntegerLpSolution_ = exploitIntegerLpSolution_;
13782 to_bitField4_ |= 0x00010000;
13784 if (((from_bitField4_ & 0x00400000) != 0)) {
13785 result.exploitAllLpSolution_ = exploitAllLpSolution_;
13786 to_bitField4_ |= 0x00020000;
13788 if (((from_bitField4_ & 0x00800000) != 0)) {
13789 result.exploitBestSolution_ = exploitBestSolution_;
13790 to_bitField4_ |= 0x00040000;
13792 if (((from_bitField4_ & 0x01000000) != 0)) {
13793 result.exploitRelaxationSolution_ = exploitRelaxationSolution_;
13794 to_bitField4_ |= 0x00080000;
13796 if (((from_bitField4_ & 0x02000000) != 0)) {
13797 result.exploitObjective_ = exploitObjective_;
13798 to_bitField4_ |= 0x00100000;
13800 if (((from_bitField4_ & 0x04000000) != 0)) {
13801 result.probingPeriodAtRoot_ = probingPeriodAtRoot_;
13802 to_bitField4_ |= 0x00200000;
13804 if (((from_bitField4_ & 0x08000000) != 0)) {
13805 result.useProbingSearch_ = useProbingSearch_;
13806 to_bitField4_ |= 0x00400000;
13808 if (((from_bitField4_ & 0x10000000) != 0)) {
13809 result.useShavingInProbingSearch_ = useShavingInProbingSearch_;
13810 to_bitField4_ |= 0x00800000;
13812 if (((from_bitField4_ & 0x20000000) != 0)) {
13813 result.shavingSearchDeterministicTime_ = shavingSearchDeterministicTime_;
13814 to_bitField4_ |= 0x01000000;
13816 if (((from_bitField4_ & 0x40000000) != 0)) {
13817 result.useObjectiveLbSearch_ = useObjectiveLbSearch_;
13818 to_bitField4_ |= 0x02000000;
13820 if (((from_bitField4_ & 0x80000000) != 0)) {
13821 result.useObjectiveShavingSearch_ = useObjectiveShavingSearch_;
13822 to_bitField4_ |= 0x04000000;
13824 result.bitField3_ |= to_bitField3_;
13825 result.bitField4_ |= to_bitField4_;
13828 private void buildPartial5(com.google.ortools.sat.SatParameters result) {
13829 int from_bitField5_ = bitField5_;
13830 int to_bitField4_ = 0;
13831 if (((from_bitField5_ & 0x00000001) != 0)) {
13832 result.pseudoCostReliabilityThreshold_ = pseudoCostReliabilityThreshold_;
13833 to_bitField4_ |= 0x08000000;
13835 if (((from_bitField5_ & 0x00000002) != 0)) {
13836 result.optimizeWithCore_ = optimizeWithCore_;
13837 to_bitField4_ |= 0x10000000;
13839 if (((from_bitField5_ & 0x00000004) != 0)) {
13840 result.optimizeWithLbTreeSearch_ = optimizeWithLbTreeSearch_;
13841 to_bitField4_ |= 0x20000000;
13843 if (((from_bitField5_ & 0x00000008) != 0)) {
13844 result.binarySearchNumConflicts_ = binarySearchNumConflicts_;
13845 to_bitField4_ |= 0x40000000;
13847 if (((from_bitField5_ & 0x00000010) != 0)) {
13848 result.optimizeWithMaxHs_ = optimizeWithMaxHs_;
13849 to_bitField4_ |= 0x80000000;
13851 int to_bitField5_ = 0;
13852 if (((from_bitField5_ & 0x00000020) != 0)) {
13853 result.testFeasibilityJump_ = testFeasibilityJump_;
13854 to_bitField5_ |= 0x00000001;
13856 if (((from_bitField5_ & 0x00000040) != 0)) {
13857 result.feasibilityJumpMaxNumValuesScanned_ = feasibilityJumpMaxNumValuesScanned_;
13858 to_bitField5_ |= 0x00000002;
13860 if (((from_bitField5_ & 0x00000080) != 0)) {
13861 result.feasibilityJumpProtectLinearFeasibility_ = feasibilityJumpProtectLinearFeasibility_;
13862 to_bitField5_ |= 0x00000004;
13864 if (((from_bitField5_ & 0x00000100) != 0)) {
13865 result.feasibilityJumpDecay_ = feasibilityJumpDecay_;
13866 to_bitField5_ |= 0x00000008;
13868 if (((from_bitField5_ & 0x00000200) != 0)) {
13869 result.feasibilityJumpVarRandomizationProbability_ = feasibilityJumpVarRandomizationProbability_;
13870 to_bitField5_ |= 0x00000010;
13872 if (((from_bitField5_ & 0x00000400) != 0)) {
13873 result.feasibilityJumpVarPerburbationRangeRatio_ = feasibilityJumpVarPerburbationRangeRatio_;
13874 to_bitField5_ |= 0x00000020;
13876 if (((from_bitField5_ & 0x00000800) != 0)) {
13877 result.feasibilityJumpEnableRestarts_ = feasibilityJumpEnableRestarts_;
13878 to_bitField5_ |= 0x00000040;
13880 if (((from_bitField5_ & 0x00001000) != 0)) {
13881 result.numViolationLs_ = numViolationLs_;
13882 to_bitField5_ |= 0x00000080;
13884 if (((from_bitField5_ & 0x00002000) != 0)) {
13885 result.violationLsPerturbationPeriod_ = violationLsPerturbationPeriod_;
13886 to_bitField5_ |= 0x00000100;
13888 if (((from_bitField5_ & 0x00004000) != 0)) {
13889 result.sharedTreeNumWorkers_ = sharedTreeNumWorkers_;
13890 to_bitField5_ |= 0x00000200;
13892 if (((from_bitField5_ & 0x00008000) != 0)) {
13893 result.useSharedTreeSearch_ = useSharedTreeSearch_;
13894 to_bitField5_ |= 0x00000400;
13896 if (((from_bitField5_ & 0x00010000) != 0)) {
13897 result.sharedTreeWorkerObjectiveSplitProbability_ = sharedTreeWorkerObjectiveSplitProbability_;
13898 to_bitField5_ |= 0x00000800;
13900 if (((from_bitField5_ & 0x00020000) != 0)) {
13901 result.sharedTreeMaxNodesPerWorker_ = sharedTreeMaxNodesPerWorker_;
13902 to_bitField5_ |= 0x00001000;
13904 if (((from_bitField5_ & 0x00040000) != 0)) {
13905 result.sharedTreeSplitStrategy_ = sharedTreeSplitStrategy_;
13906 to_bitField5_ |= 0x00002000;
13908 if (((from_bitField5_ & 0x00080000) != 0)) {
13909 result.enumerateAllSolutions_ = enumerateAllSolutions_;
13910 to_bitField5_ |= 0x00004000;
13912 if (((from_bitField5_ & 0x00100000) != 0)) {
13913 result.keepAllFeasibleSolutionsInPresolve_ = keepAllFeasibleSolutionsInPresolve_;
13914 to_bitField5_ |= 0x00008000;
13916 if (((from_bitField5_ & 0x00200000) != 0)) {
13917 result.fillTightenedDomainsInResponse_ = fillTightenedDomainsInResponse_;
13918 to_bitField5_ |= 0x00010000;
13920 if (((from_bitField5_ & 0x00400000) != 0)) {
13921 result.fillAdditionalSolutionsInResponse_ = fillAdditionalSolutionsInResponse_;
13922 to_bitField5_ |= 0x00020000;
13924 if (((from_bitField5_ & 0x00800000) != 0)) {
13925 result.instantiateAllVariables_ = instantiateAllVariables_;
13926 to_bitField5_ |= 0x00040000;
13928 if (((from_bitField5_ & 0x01000000) != 0)) {
13929 result.autoDetectGreaterThanAtLeastOneOf_ = autoDetectGreaterThanAtLeastOneOf_;
13930 to_bitField5_ |= 0x00080000;
13932 if (((from_bitField5_ & 0x02000000) != 0)) {
13933 result.stopAfterFirstSolution_ = stopAfterFirstSolution_;
13934 to_bitField5_ |= 0x00100000;
13936 if (((from_bitField5_ & 0x04000000) != 0)) {
13937 result.stopAfterPresolve_ = stopAfterPresolve_;
13938 to_bitField5_ |= 0x00200000;
13940 if (((from_bitField5_ & 0x08000000) != 0)) {
13941 result.stopAfterRootPropagation_ = stopAfterRootPropagation_;
13942 to_bitField5_ |= 0x00400000;
13944 if (((from_bitField5_ & 0x10000000) != 0)) {
13945 result.useLnsOnly_ = useLnsOnly_;
13946 to_bitField5_ |= 0x00800000;
13948 if (((from_bitField5_ & 0x20000000) != 0)) {
13949 result.solutionPoolSize_ = solutionPoolSize_;
13950 to_bitField5_ |= 0x01000000;
13952 if (((from_bitField5_ & 0x40000000) != 0)) {
13953 result.useRinsLns_ = useRinsLns_;
13954 to_bitField5_ |= 0x02000000;
13956 if (((from_bitField5_ & 0x80000000) != 0)) {
13957 result.useFeasibilityPump_ = useFeasibilityPump_;
13958 to_bitField5_ |= 0x04000000;
13960 result.bitField4_ |= to_bitField4_;
13961 result.bitField5_ |= to_bitField5_;
13964 private void buildPartial6(com.google.ortools.sat.SatParameters result) {
13965 int from_bitField6_ = bitField6_;
13966 int to_bitField5_ = 0;
13967 if (((from_bitField6_ & 0x00000001) != 0)) {
13968 result.useLbRelaxLns_ = useLbRelaxLns_;
13969 to_bitField5_ |= 0x08000000;
13971 if (((from_bitField6_ & 0x00000002) != 0)) {
13972 result.fpRounding_ = fpRounding_;
13973 to_bitField5_ |= 0x10000000;
13975 if (((from_bitField6_ & 0x00000004) != 0)) {
13976 result.diversifyLnsParams_ = diversifyLnsParams_;
13977 to_bitField5_ |= 0x20000000;
13979 if (((from_bitField6_ & 0x00000008) != 0)) {
13980 result.randomizeSearch_ = randomizeSearch_;
13981 to_bitField5_ |= 0x40000000;
13983 if (((from_bitField6_ & 0x00000010) != 0)) {
13984 result.searchRandomizationTolerance_ = searchRandomizationTolerance_;
13985 to_bitField5_ |= 0x80000000;
13987 int to_bitField6_ = 0;
13988 if (((from_bitField6_ & 0x00000020) != 0)) {
13989 result.useOptionalVariables_ = useOptionalVariables_;
13990 to_bitField6_ |= 0x00000001;
13992 if (((from_bitField6_ & 0x00000040) != 0)) {
13993 result.useExactLpReason_ = useExactLpReason_;
13994 to_bitField6_ |= 0x00000002;
13996 if (((from_bitField6_ & 0x00000080) != 0)) {
13997 result.useBranchingInLp_ = useBranchingInLp_;
13998 to_bitField6_ |= 0x00000004;
14000 if (((from_bitField6_ & 0x00000100) != 0)) {
14001 result.useCombinedNoOverlap_ = useCombinedNoOverlap_;
14002 to_bitField6_ |= 0x00000008;
14004 if (((from_bitField6_ & 0x00000200) != 0)) {
14005 result.catchSigintSignal_ = catchSigintSignal_;
14006 to_bitField6_ |= 0x00000010;
14008 if (((from_bitField6_ & 0x00000400) != 0)) {
14009 result.useImpliedBounds_ = useImpliedBounds_;
14010 to_bitField6_ |= 0x00000020;
14012 if (((from_bitField6_ & 0x00000800) != 0)) {
14013 result.polishLpSolution_ = polishLpSolution_;
14014 to_bitField6_ |= 0x00000040;
14016 if (((from_bitField6_ & 0x00001000) != 0)) {
14017 result.convertIntervals_ = convertIntervals_;
14018 to_bitField6_ |= 0x00000080;
14020 if (((from_bitField6_ & 0x00002000) != 0)) {
14021 result.symmetryLevel_ = symmetryLevel_;
14022 to_bitField6_ |= 0x00000100;
14024 if (((from_bitField6_ & 0x00004000) != 0)) {
14025 result.newLinearPropagation_ = newLinearPropagation_;
14026 to_bitField6_ |= 0x00000200;
14028 if (((from_bitField6_ & 0x00008000) != 0)) {
14029 result.linearSplitSize_ = linearSplitSize_;
14030 to_bitField6_ |= 0x00000400;
14032 if (((from_bitField6_ & 0x00010000) != 0)) {
14033 result.mipMaxBound_ = mipMaxBound_;
14034 to_bitField6_ |= 0x00000800;
14036 if (((from_bitField6_ & 0x00020000) != 0)) {
14037 result.mipVarScaling_ = mipVarScaling_;
14038 to_bitField6_ |= 0x00001000;
14040 if (((from_bitField6_ & 0x00040000) != 0)) {
14041 result.mipScaleLargeDomain_ = mipScaleLargeDomain_;
14042 to_bitField6_ |= 0x00002000;
14044 if (((from_bitField6_ & 0x00080000) != 0)) {
14045 result.mipAutomaticallyScaleVariables_ = mipAutomaticallyScaleVariables_;
14046 to_bitField6_ |= 0x00004000;
14048 if (((from_bitField6_ & 0x00100000) != 0)) {
14049 result.onlySolveIp_ = onlySolveIp_;
14050 to_bitField6_ |= 0x00008000;
14052 if (((from_bitField6_ & 0x00200000) != 0)) {
14053 result.mipWantedPrecision_ = mipWantedPrecision_;
14054 to_bitField6_ |= 0x00010000;
14056 if (((from_bitField6_ & 0x00400000) != 0)) {
14057 result.mipMaxActivityExponent_ = mipMaxActivityExponent_;
14058 to_bitField6_ |= 0x00020000;
14060 if (((from_bitField6_ & 0x00800000) != 0)) {
14061 result.mipCheckPrecision_ = mipCheckPrecision_;
14062 to_bitField6_ |= 0x00040000;
14064 if (((from_bitField6_ & 0x01000000) != 0)) {
14065 result.mipComputeTrueObjectiveBound_ = mipComputeTrueObjectiveBound_;
14066 to_bitField6_ |= 0x00080000;
14068 if (((from_bitField6_ & 0x02000000) != 0)) {
14069 result.mipMaxValidMagnitude_ = mipMaxValidMagnitude_;
14070 to_bitField6_ |= 0x00100000;
14072 if (((from_bitField6_ & 0x04000000) != 0)) {
14073 result.mipDropTolerance_ = mipDropTolerance_;
14074 to_bitField6_ |= 0x00200000;
14076 result.bitField5_ |= to_bitField5_;
14077 result.bitField6_ |= to_bitField6_;
14080 @java.lang.Override
14082 return super.
clone();
14084 @java.lang.Override
14086 com.google.protobuf.Descriptors.FieldDescriptor field,
14087 java.lang.Object value) {
14088 return super.
setField(field, value);
14090 @java.lang.Override
14092 com.google.protobuf.Descriptors.FieldDescriptor field) {
14095 @java.lang.Override
14097 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
14100 @java.lang.Override
14102 com.google.protobuf.Descriptors.FieldDescriptor field,
14103 int index, java.lang.Object value) {
14106 @java.lang.Override
14108 com.google.protobuf.Descriptors.FieldDescriptor field,
14109 java.lang.Object value) {
14112 @java.lang.Override
14114 if (other instanceof com.google.ortools.sat.SatParameters) {
14115 return mergeFrom((com.google.ortools.sat.SatParameters)other);
14117 super.mergeFrom(other);
14123 if (other == com.google.ortools.sat.SatParameters.getDefaultInstance())
return this;
14124 if (other.hasName()) {
14125 name_ = other.name_;
14126 bitField0_ |= 0x00000001;
14129 if (other.hasPreferredVariableOrder()) {
14132 if (other.hasInitialPolarity()) {
14135 if (other.hasUsePhaseSaving()) {
14138 if (other.hasPolarityRephaseIncrement()) {
14141 if (other.hasRandomPolarityRatio()) {
14144 if (other.hasRandomBranchesRatio()) {
14147 if (other.hasUseErwaHeuristic()) {
14150 if (other.hasInitialVariablesActivity()) {
14153 if (other.hasAlsoBumpVariablesInConflictReasons()) {
14156 if (other.hasMinimizationAlgorithm()) {
14159 if (other.hasBinaryMinimizationAlgorithm()) {
14162 if (other.hasSubsumptionDuringConflictAnalysis()) {
14165 if (other.hasClauseCleanupPeriod()) {
14168 if (other.hasClauseCleanupTarget()) {
14171 if (other.hasClauseCleanupRatio()) {
14174 if (other.hasClauseCleanupProtection()) {
14177 if (other.hasClauseCleanupLbdBound()) {
14180 if (other.hasClauseCleanupOrdering()) {
14183 if (other.hasPbCleanupIncrement()) {
14186 if (other.hasPbCleanupRatio()) {
14189 if (other.hasMinimizeWithPropagationRestartPeriod()) {
14192 if (other.hasMinimizeWithPropagationNumDecisions()) {
14195 if (other.hasVariableActivityDecay()) {
14198 if (other.hasMaxVariableActivityValue()) {
14201 if (other.hasGlucoseMaxDecay()) {
14204 if (other.hasGlucoseDecayIncrement()) {
14207 if (other.hasGlucoseDecayIncrementPeriod()) {
14210 if (other.hasClauseActivityDecay()) {
14213 if (other.hasMaxClauseActivityValue()) {
14216 if (!other.restartAlgorithms_.isEmpty()) {
14217 if (restartAlgorithms_.isEmpty()) {
14218 restartAlgorithms_ = other.restartAlgorithms_;
14219 bitField0_ = (bitField0_ & ~0x40000000);
14221 ensureRestartAlgorithmsIsMutable();
14222 restartAlgorithms_.addAll(other.restartAlgorithms_);
14226 if (other.hasDefaultRestartAlgorithms()) {
14227 defaultRestartAlgorithms_ = other.defaultRestartAlgorithms_;
14228 bitField0_ |= 0x80000000;
14231 if (other.hasRestartPeriod()) {
14234 if (other.hasRestartRunningWindowSize()) {
14237 if (other.hasRestartDlAverageRatio()) {
14240 if (other.hasRestartLbdAverageRatio()) {
14243 if (other.hasUseBlockingRestart()) {
14246 if (other.hasBlockingRestartWindowSize()) {
14249 if (other.hasBlockingRestartMultiplier()) {
14252 if (other.hasNumConflictsBeforeStrategyChanges()) {
14255 if (other.hasStrategyChangeIncreaseRatio()) {
14258 if (other.hasMaxTimeInSeconds()) {
14261 if (other.hasMaxDeterministicTime()) {
14264 if (other.hasMaxNumberOfConflicts()) {
14267 if (other.hasMaxMemoryInMb()) {
14270 if (other.hasAbsoluteGapLimit()) {
14273 if (other.hasRelativeGapLimit()) {
14276 if (other.hasRandomSeed()) {
14279 if (other.hasPermuteVariableRandomly()) {
14282 if (other.hasPermutePresolveConstraintOrder()) {
14285 if (other.hasUseAbslRandom()) {
14288 if (other.hasLogSearchProgress()) {
14291 if (other.hasLogFrequencyInSeconds()) {
14294 if (other.hasModelReductionLogFrequencyInSeconds()) {
14297 if (other.hasLogSubsolverStatistics()) {
14300 if (other.hasLogPrefix()) {
14301 logPrefix_ = other.logPrefix_;
14302 bitField1_ |= 0x00800000;
14305 if (other.hasLogToStdout()) {
14308 if (other.hasLogToResponse()) {
14311 if (other.hasUsePbResolution()) {
14314 if (other.hasMinimizeReductionDuringPbResolution()) {
14317 if (other.hasCountAssumptionLevelsInLbd()) {
14320 if (other.hasPresolveBveThreshold()) {
14323 if (other.hasPresolveBveClauseWeight()) {
14326 if (other.hasProbingDeterministicTimeLimit()) {
14329 if (other.hasPresolveProbingDeterministicTimeLimit()) {
14332 if (other.hasPresolveBlockedClause()) {
14335 if (other.hasPresolveUseBva()) {
14338 if (other.hasPresolveBvaThreshold()) {
14341 if (other.hasMaxPresolveIterations()) {
14344 if (other.hasCpModelPresolve()) {
14347 if (other.hasCpModelProbingLevel()) {
14350 if (other.hasCpModelUseSatPresolve()) {
14353 if (other.hasUseSatInprocessing()) {
14356 if (other.hasDetectTableWithCost()) {
14359 if (other.hasTableCompressionLevel()) {
14362 if (other.hasExpandAlldiffConstraints()) {
14365 if (other.hasExpandReservoirConstraints()) {
14368 if (other.hasDisableConstraintExpansion()) {
14371 if (other.hasEncodeComplexLinearConstraintWithInteger()) {
14374 if (other.hasMergeNoOverlapWorkLimit()) {
14377 if (other.hasMergeAtMostOneWorkLimit()) {
14380 if (other.hasPresolveSubstitutionLevel()) {
14383 if (other.hasPresolveExtractIntegerEnforcement()) {
14386 if (other.hasPresolveInclusionWorkLimit()) {
14389 if (other.hasIgnoreNames()) {
14392 if (other.hasInferAllDiffs()) {
14395 if (other.hasFindBigLinearOverlap()) {
14398 if (other.hasNumWorkers()) {
14401 if (other.hasNumSearchWorkers()) {
14404 if (other.hasMinNumLnsWorkers()) {
14407 if (!other.subsolvers_.isEmpty()) {
14408 if (subsolvers_.isEmpty()) {
14409 subsolvers_ = other.subsolvers_;
14410 bitField2_ |= 0x04000000;
14412 ensureSubsolversIsMutable();
14413 subsolvers_.addAll(other.subsolvers_);
14417 if (!other.extraSubsolvers_.isEmpty()) {
14418 if (extraSubsolvers_.isEmpty()) {
14419 extraSubsolvers_ = other.extraSubsolvers_;
14420 bitField2_ |= 0x08000000;
14422 ensureExtraSubsolversIsMutable();
14423 extraSubsolvers_.addAll(other.extraSubsolvers_);
14427 if (!other.ignoreSubsolvers_.isEmpty()) {
14428 if (ignoreSubsolvers_.isEmpty()) {
14429 ignoreSubsolvers_ = other.ignoreSubsolvers_;
14430 bitField2_ |= 0x10000000;
14432 ensureIgnoreSubsolversIsMutable();
14433 ignoreSubsolvers_.addAll(other.ignoreSubsolvers_);
14437 if (subsolverParamsBuilder_ ==
null) {
14438 if (!other.subsolverParams_.isEmpty()) {
14439 if (subsolverParams_.isEmpty()) {
14440 subsolverParams_ = other.subsolverParams_;
14441 bitField2_ = (bitField2_ & ~0x20000000);
14443 ensureSubsolverParamsIsMutable();
14444 subsolverParams_.addAll(other.subsolverParams_);
14449 if (!other.subsolverParams_.isEmpty()) {
14450 if (subsolverParamsBuilder_.isEmpty()) {
14451 subsolverParamsBuilder_.dispose();
14452 subsolverParamsBuilder_ =
null;
14453 subsolverParams_ = other.subsolverParams_;
14454 bitField2_ = (bitField2_ & ~0x20000000);
14455 subsolverParamsBuilder_ =
14456 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
14457 getSubsolverParamsFieldBuilder() :
null;
14459 subsolverParamsBuilder_.addAllMessages(other.subsolverParams_);
14463 if (other.hasInterleaveSearch()) {
14466 if (other.hasInterleaveBatchSize()) {
14469 if (other.hasShareObjectiveBounds()) {
14472 if (other.hasShareLevelZeroBounds()) {
14475 if (other.hasShareBinaryClauses()) {
14478 if (other.hasDebugPostsolveWithFullSolver()) {
14481 if (other.hasDebugMaxNumPresolveOperations()) {
14484 if (other.hasDebugCrashOnBadHint()) {
14487 if (other.hasUseOptimizationHints()) {
14490 if (other.hasMinimizeCore()) {
14493 if (other.hasFindMultipleCores()) {
14496 if (other.hasCoverOptimization()) {
14499 if (other.hasMaxSatAssumptionOrder()) {
14502 if (other.hasMaxSatReverseAssumptionOrder()) {
14505 if (other.hasMaxSatStratification()) {
14508 if (other.hasPropagationLoopDetectionFactor()) {
14511 if (other.hasUsePrecedencesInDisjunctiveConstraint()) {
14514 if (other.hasMaxSizeToCreatePrecedenceLiteralsInDisjunctive()) {
14517 if (other.hasUseStrongPropagationInDisjunctive()) {
14520 if (other.hasUseOverloadCheckerInCumulative()) {
14523 if (other.hasUseTimetableEdgeFindingInCumulative()) {
14526 if (other.hasUseHardPrecedencesInCumulative()) {
14529 if (other.hasExploitAllPrecedences()) {
14532 if (other.hasUseDisjunctiveConstraintInCumulative()) {
14535 if (other.hasUseTimetablingInNoOverlap2D()) {
14538 if (other.hasUseEnergeticReasoningInNoOverlap2D()) {
14541 if (other.hasUsePairwiseReasoningInNoOverlap2D()) {
14544 if (other.hasUseDualSchedulingHeuristics()) {
14547 if (other.hasLinearizationLevel()) {
14550 if (other.hasBooleanEncodingLevel()) {
14553 if (other.hasMaxDomainSizeWhenEncodingEqNeqConstraints()) {
14556 if (other.hasMaxNumCuts()) {
14559 if (other.hasCutLevel()) {
14562 if (other.hasOnlyAddCutsAtLevelZero()) {
14565 if (other.hasAddObjectiveCut()) {
14568 if (other.hasAddCgCuts()) {
14571 if (other.hasAddMirCuts()) {
14574 if (other.hasAddZeroHalfCuts()) {
14577 if (other.hasAddCliqueCuts()) {
14580 if (other.hasMaxAllDiffCutSize()) {
14583 if (other.hasAddLinMaxCuts()) {
14586 if (other.hasMaxIntegerRoundingScaling()) {
14589 if (other.hasAddLpConstraintsLazily()) {
14592 if (other.hasRootLpIterations()) {
14595 if (other.hasMinOrthogonalityForLpConstraints()) {
14598 if (other.hasMaxCutRoundsAtLevelZero()) {
14601 if (other.hasMaxConsecutiveInactiveCount()) {
14604 if (other.hasCutMaxActiveCountValue()) {
14607 if (other.hasCutActiveCountDecay()) {
14610 if (other.hasCutCleanupTarget()) {
14613 if (other.hasNewConstraintsBatchSize()) {
14616 if (other.hasSearchBranching()) {
14619 if (other.hasHintConflictLimit()) {
14622 if (other.hasRepairHint()) {
14625 if (other.hasFixVariablesToTheirHintedValue()) {
14628 if (other.hasExploitIntegerLpSolution()) {
14631 if (other.hasExploitAllLpSolution()) {
14634 if (other.hasExploitBestSolution()) {
14637 if (other.hasExploitRelaxationSolution()) {
14640 if (other.hasExploitObjective()) {
14643 if (other.hasProbingPeriodAtRoot()) {
14646 if (other.hasUseProbingSearch()) {
14649 if (other.hasUseShavingInProbingSearch()) {
14652 if (other.hasShavingSearchDeterministicTime()) {
14655 if (other.hasUseObjectiveLbSearch()) {
14658 if (other.hasUseObjectiveShavingSearch()) {
14661 if (other.hasPseudoCostReliabilityThreshold()) {
14664 if (other.hasOptimizeWithCore()) {
14667 if (other.hasOptimizeWithLbTreeSearch()) {
14670 if (other.hasBinarySearchNumConflicts()) {
14673 if (other.hasOptimizeWithMaxHs()) {
14676 if (other.hasTestFeasibilityJump()) {
14679 if (other.hasFeasibilityJumpMaxNumValuesScanned()) {
14682 if (other.hasFeasibilityJumpProtectLinearFeasibility()) {
14685 if (other.hasFeasibilityJumpDecay()) {
14688 if (other.hasFeasibilityJumpVarRandomizationProbability()) {
14691 if (other.hasFeasibilityJumpVarPerburbationRangeRatio()) {
14694 if (other.hasFeasibilityJumpEnableRestarts()) {
14697 if (other.hasNumViolationLs()) {
14700 if (other.hasViolationLsPerturbationPeriod()) {
14703 if (other.hasSharedTreeNumWorkers()) {
14706 if (other.hasUseSharedTreeSearch()) {
14709 if (other.hasSharedTreeWorkerObjectiveSplitProbability()) {
14712 if (other.hasSharedTreeMaxNodesPerWorker()) {
14715 if (other.hasSharedTreeSplitStrategy()) {
14718 if (other.hasEnumerateAllSolutions()) {
14721 if (other.hasKeepAllFeasibleSolutionsInPresolve()) {
14724 if (other.hasFillTightenedDomainsInResponse()) {
14727 if (other.hasFillAdditionalSolutionsInResponse()) {
14730 if (other.hasInstantiateAllVariables()) {
14733 if (other.hasAutoDetectGreaterThanAtLeastOneOf()) {
14736 if (other.hasStopAfterFirstSolution()) {
14739 if (other.hasStopAfterPresolve()) {
14742 if (other.hasStopAfterRootPropagation()) {
14745 if (other.hasUseLnsOnly()) {
14748 if (other.hasSolutionPoolSize()) {
14751 if (other.hasUseRinsLns()) {
14754 if (other.hasUseFeasibilityPump()) {
14757 if (other.hasUseLbRelaxLns()) {
14760 if (other.hasFpRounding()) {
14763 if (other.hasDiversifyLnsParams()) {
14766 if (other.hasRandomizeSearch()) {
14769 if (other.hasSearchRandomizationTolerance()) {
14772 if (other.hasUseOptionalVariables()) {
14775 if (other.hasUseExactLpReason()) {
14778 if (other.hasUseBranchingInLp()) {
14781 if (other.hasUseCombinedNoOverlap()) {
14784 if (other.hasCatchSigintSignal()) {
14787 if (other.hasUseImpliedBounds()) {
14790 if (other.hasPolishLpSolution()) {
14793 if (other.hasConvertIntervals()) {
14796 if (other.hasSymmetryLevel()) {
14799 if (other.hasNewLinearPropagation()) {
14802 if (other.hasLinearSplitSize()) {
14805 if (other.hasMipMaxBound()) {
14808 if (other.hasMipVarScaling()) {
14811 if (other.hasMipScaleLargeDomain()) {
14814 if (other.hasMipAutomaticallyScaleVariables()) {
14817 if (other.hasOnlySolveIp()) {
14820 if (other.hasMipWantedPrecision()) {
14823 if (other.hasMipMaxActivityExponent()) {
14826 if (other.hasMipCheckPrecision()) {
14829 if (other.hasMipComputeTrueObjectiveBound()) {
14832 if (other.hasMipMaxValidMagnitude()) {
14835 if (other.hasMipDropTolerance()) {
14843 @java.lang.Override
14848 @java.lang.Override
14850 com.google.protobuf.CodedInputStream input,
14851 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14852 throws java.io.IOException {
14853 if (extensionRegistry ==
null) {
14854 throw new java.lang.NullPointerException();
14857 boolean done =
false;
14859 int tag = input.readTag();
14865 int tmpRaw = input.readEnum();
14867 com.google.ortools.sat.SatParameters.VariableOrder.forNumber(tmpRaw);
14868 if (tmpValue ==
null) {
14869 mergeUnknownVarintField(1, tmpRaw);
14871 preferredVariableOrder_ = tmpRaw;
14872 bitField0_ |= 0x00000002;
14877 int tmpRaw = input.readEnum();
14879 com.google.ortools.sat.SatParameters.Polarity.forNumber(tmpRaw);
14880 if (tmpValue ==
null) {
14881 mergeUnknownVarintField(2, tmpRaw);
14883 initialPolarity_ = tmpRaw;
14884 bitField0_ |= 0x00000004;
14889 int tmpRaw = input.readEnum();
14891 com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.forNumber(tmpRaw);
14892 if (tmpValue ==
null) {
14893 mergeUnknownVarintField(4, tmpRaw);
14895 minimizationAlgorithm_ = tmpRaw;
14896 bitField0_ |= 0x00000400;
14901 clauseCleanupPeriod_ = input.readInt32();
14902 bitField0_ |= 0x00002000;
14906 clauseCleanupTarget_ = input.readInt32();
14907 bitField0_ |= 0x00004000;
14911 variableActivityDecay_ = input.readDouble();
14912 bitField0_ |= 0x00800000;
14916 maxVariableActivityValue_ = input.readDouble();
14917 bitField0_ |= 0x01000000;
14921 clauseActivityDecay_ = input.readDouble();
14922 bitField0_ |= 0x10000000;
14926 maxClauseActivityValue_ = input.readDouble();
14927 bitField0_ |= 0x20000000;
14931 glucoseMaxDecay_ = input.readDouble();
14932 bitField0_ |= 0x02000000;
14936 glucoseDecayIncrement_ = input.readDouble();
14937 bitField0_ |= 0x04000000;
14941 glucoseDecayIncrementPeriod_ = input.readInt32();
14942 bitField0_ |= 0x08000000;
14946 restartPeriod_ = input.readInt32();
14947 bitField1_ |= 0x00000001;
14951 randomSeed_ = input.readInt32();
14952 bitField1_ |= 0x00008000;
14956 randomBranchesRatio_ = input.readDouble();
14957 bitField0_ |= 0x00000040;
14961 int tmpRaw = input.readEnum();
14963 com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.forNumber(tmpRaw);
14964 if (tmpValue ==
null) {
14965 mergeUnknownVarintField(34, tmpRaw);
14967 binaryMinimizationAlgorithm_ = tmpRaw;
14968 bitField0_ |= 0x00000800;
14973 useOptimizationHints_ = input.readBool();
14974 bitField3_ |= 0x00000040;
14978 maxTimeInSeconds_ = input.readDouble();
14979 bitField1_ |= 0x00000200;
14983 maxNumberOfConflicts_ = input.readInt64();
14984 bitField1_ |= 0x00000800;
14988 maxMemoryInMb_ = input.readInt64();
14989 bitField1_ |= 0x00001000;
14993 logSearchProgress_ = input.readBool();
14994 bitField1_ |= 0x00080000;
14998 usePbResolution_ = input.readBool();
14999 bitField1_ |= 0x04000000;
15003 usePhaseSaving_ = input.readBool();
15004 bitField0_ |= 0x00000008;
15008 randomPolarityRatio_ = input.readDouble();
15009 bitField0_ |= 0x00000020;
15013 pbCleanupIncrement_ = input.readInt32();
15014 bitField0_ |= 0x00080000;
15018 pbCleanupRatio_ = input.readDouble();
15019 bitField0_ |= 0x00100000;
15023 minimizeReductionDuringPbResolution_ = input.readBool();
15024 bitField1_ |= 0x08000000;
15028 countAssumptionLevelsInLbd_ = input.readBool();
15029 bitField1_ |= 0x10000000;
15033 minimizeCore_ = input.readBool();
15034 bitField3_ |= 0x00000080;
15038 int tmpRaw = input.readEnum();
15040 com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.forNumber(tmpRaw);
15041 if (tmpValue ==
null) {
15042 mergeUnknownVarintField(51, tmpRaw);
15044 maxSatAssumptionOrder_ = tmpRaw;
15045 bitField3_ |= 0x00000400;
15050 maxSatReverseAssumptionOrder_ = input.readBool();
15051 bitField3_ |= 0x00000800;
15055 int tmpRaw = input.readEnum();
15057 com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.forNumber(tmpRaw);
15058 if (tmpValue ==
null) {
15059 mergeUnknownVarintField(53, tmpRaw);
15061 maxSatStratification_ = tmpRaw;
15062 bitField3_ |= 0x00001000;
15067 presolveBveThreshold_ = input.readInt32();
15068 bitField1_ |= 0x20000000;
15072 presolveBveClauseWeight_ = input.readInt32();
15073 bitField1_ |= 0x40000000;
15077 subsumptionDuringConflictAnalysis_ = input.readBool();
15078 bitField0_ |= 0x00001000;
15082 presolveProbingDeterministicTimeLimit_ = input.readDouble();
15083 bitField2_ |= 0x00000001;
15087 int tmpRaw = input.readEnum();
15089 com.google.ortools.sat.SatParameters.ClauseProtection.forNumber(tmpRaw);
15090 if (tmpValue ==
null) {
15091 mergeUnknownVarintField(58, tmpRaw);
15093 clauseCleanupProtection_ = tmpRaw;
15094 bitField0_ |= 0x00010000;
15099 clauseCleanupLbdBound_ = input.readInt32();
15100 bitField0_ |= 0x00020000;
15104 int tmpRaw = input.readEnum();
15106 com.google.ortools.sat.SatParameters.ClauseOrdering.forNumber(tmpRaw);
15107 if (tmpValue ==
null) {
15108 mergeUnknownVarintField(60, tmpRaw);
15110 clauseCleanupOrdering_ = tmpRaw;
15111 bitField0_ |= 0x00040000;
15116 int tmpRaw = input.readEnum();
15118 com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(tmpRaw);
15119 if (tmpValue ==
null) {
15120 mergeUnknownVarintField(61, tmpRaw);
15122 ensureRestartAlgorithmsIsMutable();
15123 restartAlgorithms_.add(tmpRaw);
15128 int length = input.readRawVarint32();
15129 int oldLimit = input.pushLimit(length);
15130 while(input.getBytesUntilLimit() > 0) {
15131 int tmpRaw = input.readEnum();
15133 com.google.ortools.sat.SatParameters.RestartAlgorithm.forNumber(tmpRaw);
15134 if (tmpValue ==
null) {
15135 mergeUnknownVarintField(61, tmpRaw);
15137 ensureRestartAlgorithmsIsMutable();
15138 restartAlgorithms_.add(tmpRaw);
15141 input.popLimit(oldLimit);
15145 restartRunningWindowSize_ = input.readInt32();
15146 bitField1_ |= 0x00000002;
15150 restartDlAverageRatio_ = input.readDouble();
15151 bitField1_ |= 0x00000004;
15155 useBlockingRestart_ = input.readBool();
15156 bitField1_ |= 0x00000010;
15160 blockingRestartWindowSize_ = input.readInt32();
15161 bitField1_ |= 0x00000020;
15165 blockingRestartMultiplier_ = input.readDouble();
15166 bitField1_ |= 0x00000040;
15170 maxDeterministicTime_ = input.readDouble();
15171 bitField1_ |= 0x00000400;
15175 numConflictsBeforeStrategyChanges_ = input.readInt32();
15176 bitField1_ |= 0x00000080;
15180 strategyChangeIncreaseRatio_ = input.readDouble();
15181 bitField1_ |= 0x00000100;
15185 defaultRestartAlgorithms_ = input.readBytes();
15186 bitField0_ |= 0x80000000;
15190 restartLbdAverageRatio_ = input.readDouble();
15191 bitField1_ |= 0x00000008;
15195 presolveUseBva_ = input.readBool();
15196 bitField2_ |= 0x00000004;
15200 presolveBvaThreshold_ = input.readInt32();
15201 bitField2_ |= 0x00000008;
15205 usePrecedencesInDisjunctiveConstraint_ = input.readBool();
15206 bitField3_ |= 0x00004000;
15210 useErwaHeuristic_ = input.readBool();
15211 bitField0_ |= 0x00000080;
15215 initialVariablesActivity_ = input.readDouble();
15216 bitField0_ |= 0x00000100;
15220 alsoBumpVariablesInConflictReasons_ = input.readBool();
15221 bitField0_ |= 0x00000200;
15225 useOverloadCheckerInCumulative_ = input.readBool();
15226 bitField3_ |= 0x00020000;
15230 useTimetableEdgeFindingInCumulative_ = input.readBool();
15231 bitField3_ |= 0x00040000;
15235 useDisjunctiveConstraintInCumulative_ = input.readBool();
15236 bitField3_ |= 0x00200000;
15240 int tmpRaw = input.readEnum();
15242 com.google.ortools.sat.SatParameters.SearchBranching.forNumber(tmpRaw);
15243 if (tmpValue ==
null) {
15244 mergeUnknownVarintField(82, tmpRaw);
15246 searchBranching_ = tmpRaw;
15247 bitField4_ |= 0x00020000;
15252 optimizeWithCore_ = input.readBool();
15253 bitField5_ |= 0x00000002;
15257 findMultipleCores_ = input.readBool();
15258 bitField3_ |= 0x00000100;
15262 optimizeWithMaxHs_ = input.readBool();
15263 bitField5_ |= 0x00000010;
15267 cpModelPresolve_ = input.readBool();
15268 bitField2_ |= 0x00000020;
15272 enumerateAllSolutions_ = input.readBool();
15273 bitField5_ |= 0x00080000;
15277 presolveBlockedClause_ = input.readBool();
15278 bitField2_ |= 0x00000002;
15282 coverOptimization_ = input.readBool();
15283 bitField3_ |= 0x00000200;
15287 linearizationLevel_ = input.readInt32();
15288 bitField3_ |= 0x04000000;
15292 maxNumCuts_ = input.readInt32();
15293 bitField3_ |= 0x20000000;
15297 onlyAddCutsAtLevelZero_ = input.readBool();
15298 bitField3_ |= 0x80000000;
15302 cpModelUseSatPresolve_ = input.readBool();
15303 bitField2_ |= 0x00000080;
15307 exploitIntegerLpSolution_ = input.readBool();
15308 bitField4_ |= 0x00200000;
15312 autoDetectGreaterThanAtLeastOneOf_ = input.readBool();
15313 bitField5_ |= 0x01000000;
15317 minimizeWithPropagationRestartPeriod_ = input.readInt32();
15318 bitField0_ |= 0x00200000;
15322 minimizeWithPropagationNumDecisions_ = input.readInt32();
15323 bitField0_ |= 0x00400000;
15327 stopAfterFirstSolution_ = input.readBool();
15328 bitField5_ |= 0x02000000;
15332 binarySearchNumConflicts_ = input.readInt32();
15333 bitField5_ |= 0x00000008;
15337 numSearchWorkers_ = input.readInt32();
15338 bitField2_ |= 0x01000000;
15342 useLnsOnly_ = input.readBool();
15343 bitField5_ |= 0x10000000;
15347 randomizeSearch_ = input.readBool();
15348 bitField6_ |= 0x00000008;
15352 searchRandomizationTolerance_ = input.readInt64();
15353 bitField6_ |= 0x00000010;
15357 instantiateAllVariables_ = input.readBool();
15358 bitField5_ |= 0x00800000;
15362 booleanEncodingLevel_ = input.readInt32();
15363 bitField3_ |= 0x08000000;
15367 useOptionalVariables_ = input.readBool();
15368 bitField6_ |= 0x00000020;
15372 useExactLpReason_ = input.readBool();
15373 bitField6_ |= 0x00000040;
15377 cpModelProbingLevel_ = input.readInt32();
15378 bitField2_ |= 0x00000040;
15382 addLpConstraintsLazily_ = input.readBool();
15383 bitField4_ |= 0x00000100;
15387 shareObjectiveBounds_ = input.readBool();
15388 bitField3_ |= 0x00000001;
15392 shareLevelZeroBounds_ = input.readBool();
15393 bitField3_ |= 0x00000002;
15397 minOrthogonalityForLpConstraints_ = input.readDouble();
15398 bitField4_ |= 0x00000400;
15402 exploitAllLpSolution_ = input.readBool();
15403 bitField4_ |= 0x00400000;
15407 addCgCuts_ = input.readBool();
15408 bitField4_ |= 0x00000002;
15412 maxIntegerRoundingScaling_ = input.readInt32();
15413 bitField4_ |= 0x00000080;
15417 addMirCuts_ = input.readBool();
15418 bitField4_ |= 0x00000004;
15422 maxConsecutiveInactiveCount_ = input.readInt32();
15423 bitField4_ |= 0x00001000;
15427 newConstraintsBatchSize_ = input.readInt32();
15428 bitField4_ |= 0x00010000;
15432 pseudoCostReliabilityThreshold_ = input.readInt64();
15433 bitField5_ |= 0x00000001;
15437 mipMaxBound_ = input.readDouble();
15438 bitField6_ |= 0x00010000;
15442 mipVarScaling_ = input.readDouble();
15443 bitField6_ |= 0x00020000;
15447 mipWantedPrecision_ = input.readDouble();
15448 bitField6_ |= 0x00200000;
15452 mipMaxActivityExponent_ = input.readInt32();
15453 bitField6_ |= 0x00400000;
15457 mipCheckPrecision_ = input.readDouble();
15458 bitField6_ |= 0x00800000;
15462 useRinsLns_ = input.readBool();
15463 bitField5_ |= 0x40000000;
15467 exploitBestSolution_ = input.readBool();
15468 bitField4_ |= 0x00800000;
15472 exploitObjective_ = input.readBool();
15473 bitField4_ |= 0x02000000;
15477 fillTightenedDomainsInResponse_ = input.readBool();
15478 bitField5_ |= 0x00200000;
15482 useCombinedNoOverlap_ = input.readBool();
15483 bitField6_ |= 0x00000100;
15487 interleaveBatchSize_ = input.readInt32();
15488 bitField2_ |= 0x80000000;
15492 catchSigintSignal_ = input.readBool();
15493 bitField6_ |= 0x00000200;
15497 interleaveSearch_ = input.readBool();
15498 bitField2_ |= 0x40000000;
15502 diversifyLnsParams_ = input.readBool();
15503 bitField6_ |= 0x00000004;
15507 maxPresolveIterations_ = input.readInt32();
15508 bitField2_ |= 0x00000010;
15512 useBranchingInLp_ = input.readBool();
15513 bitField6_ |= 0x00000080;
15517 probingPeriodAtRoot_ = input.readInt64();
15518 bitField4_ |= 0x04000000;
15522 useImpliedBounds_ = input.readBool();
15523 bitField6_ |= 0x00000400;
15527 mergeNoOverlapWorkLimit_ = input.readDouble();
15528 bitField2_ |= 0x00008000;
15532 mergeAtMostOneWorkLimit_ = input.readDouble();
15533 bitField2_ |= 0x00010000;
15537 presolveSubstitutionLevel_ = input.readInt32();
15538 bitField2_ |= 0x00020000;
15542 maxAllDiffCutSize_ = input.readInt32();
15543 bitField4_ |= 0x00000020;
15547 stopAfterPresolve_ = input.readBool();
15548 bitField5_ |= 0x04000000;
15552 debugMaxNumPresolveOperations_ = input.readInt32();
15553 bitField3_ |= 0x00000010;
15557 addLinMaxCuts_ = input.readBool();
15558 bitField4_ |= 0x00000040;
15562 hintConflictLimit_ = input.readInt32();
15563 bitField4_ |= 0x00040000;
15567 maxCutRoundsAtLevelZero_ = input.readInt32();
15568 bitField4_ |= 0x00000800;
15572 cutMaxActiveCountValue_ = input.readDouble();
15573 bitField4_ |= 0x00002000;
15577 cutActiveCountDecay_ = input.readDouble();
15578 bitField4_ |= 0x00004000;
15582 cutCleanupTarget_ = input.readInt32();
15583 bitField4_ |= 0x00008000;
15587 absoluteGapLimit_ = input.readDouble();
15588 bitField1_ |= 0x00002000;
15592 relativeGapLimit_ = input.readDouble();
15593 bitField1_ |= 0x00004000;
15597 exploitRelaxationSolution_ = input.readBool();
15598 bitField4_ |= 0x01000000;
15602 debugPostsolveWithFullSolver_ = input.readBool();
15603 bitField3_ |= 0x00000008;
15607 useSatInprocessing_ = input.readBool();
15608 bitField2_ |= 0x00000100;
15612 useFeasibilityPump_ = input.readBool();
15613 bitField5_ |= 0x80000000;
15617 int tmpRaw = input.readEnum();
15619 com.google.ortools.sat.SatParameters.FPRoundingMethod.forNumber(tmpRaw);
15620 if (tmpValue ==
null) {
15621 mergeUnknownVarintField(165, tmpRaw);
15623 fpRounding_ = tmpRaw;
15624 bitField6_ |= 0x00000002;
15629 mipAutomaticallyScaleVariables_ = input.readBool();
15630 bitField6_ |= 0x00080000;
15634 repairHint_ = input.readBool();
15635 bitField4_ |= 0x00080000;
15639 polarityRephaseIncrement_ = input.readInt32();
15640 bitField0_ |= 0x00000010;
15644 addZeroHalfCuts_ = input.readBool();
15645 bitField4_ |= 0x00000008;
15649 expandAlldiffConstraints_ = input.readBool();
15650 bitField2_ |= 0x00000800;
15654 name_ = input.readBytes();
15655 bitField0_ |= 0x00000001;
15659 addCliqueCuts_ = input.readBool();
15660 bitField4_ |= 0x00000010;
15664 keepAllFeasibleSolutionsInPresolve_ = input.readBool();
15665 bitField5_ |= 0x00100000;
15669 presolveExtractIntegerEnforcement_ = input.readBool();
15670 bitField2_ |= 0x00040000;
15674 polishLpSolution_ = input.readBool();
15675 bitField6_ |= 0x00000800;
15679 useProbingSearch_ = input.readBool();
15680 bitField4_ |= 0x08000000;
15684 convertIntervals_ = input.readBool();
15685 bitField6_ |= 0x00001000;
15689 permuteVariableRandomly_ = input.readBool();
15690 bitField1_ |= 0x00010000;
15694 permutePresolveConstraintOrder_ = input.readBool();
15695 bitField1_ |= 0x00020000;
15699 useAbslRandom_ = input.readBool();
15700 bitField1_ |= 0x00040000;
15704 disableConstraintExpansion_ = input.readBool();
15705 bitField2_ |= 0x00002000;
15709 expandReservoirConstraints_ = input.readBool();
15710 bitField2_ |= 0x00001000;
15714 symmetryLevel_ = input.readInt32();
15715 bitField6_ |= 0x00002000;
15719 logPrefix_ = input.readBytes();
15720 bitField1_ |= 0x00800000;
15724 logToStdout_ = input.readBool();
15725 bitField1_ |= 0x01000000;
15729 logToResponse_ = input.readBool();
15730 bitField1_ |= 0x02000000;
15734 optimizeWithLbTreeSearch_ = input.readBool();
15735 bitField5_ |= 0x00000004;
15739 logSubsolverStatistics_ = input.readBool();
15740 bitField1_ |= 0x00400000;
15744 clauseCleanupRatio_ = input.readDouble();
15745 bitField0_ |= 0x00008000;
15749 maxDomainSizeWhenEncodingEqNeqConstraints_ = input.readInt32();
15750 bitField3_ |= 0x10000000;
15754 fixVariablesToTheirHintedValue_ = input.readBool();
15755 bitField4_ |= 0x00100000;
15759 solutionPoolSize_ = input.readInt32();
15760 bitField5_ |= 0x20000000;
15764 fillAdditionalSolutionsInResponse_ = input.readBool();
15765 bitField5_ |= 0x00400000;
15769 debugCrashOnBadHint_ = input.readBool();
15770 bitField3_ |= 0x00000020;
15774 cutLevel_ = input.readInt32();
15775 bitField3_ |= 0x40000000;
15779 addObjectiveCut_ = input.readBool();
15780 bitField4_ |= 0x00000001;
15784 mipComputeTrueObjectiveBound_ = input.readBool();
15785 bitField6_ |= 0x01000000;
15789 mipMaxValidMagnitude_ = input.readDouble();
15790 bitField6_ |= 0x02000000;
15794 useTimetablingInNoOverlap2D_ = input.readBool();
15795 bitField3_ |= 0x00400000;
15799 presolveInclusionWorkLimit_ = input.readInt64();
15800 bitField2_ |= 0x00080000;
15804 ignoreNames_ = input.readBool();
15805 bitField2_ |= 0x00100000;
15809 shareBinaryClauses_ = input.readBool();
15810 bitField3_ |= 0x00000004;
15814 useShavingInProbingSearch_ = input.readBool();
15815 bitField4_ |= 0x10000000;
15819 shavingSearchDeterministicTime_ = input.readDouble();
15820 bitField4_ |= 0x20000000;
15824 numWorkers_ = input.readInt32();
15825 bitField2_ |= 0x00800000;
15829 com.google.protobuf.ByteString bs = input.readBytes();
15830 ensureSubsolversIsMutable();
15831 subsolvers_.add(bs);
15835 com.google.protobuf.ByteString bs = input.readBytes();
15836 ensureIgnoreSubsolversIsMutable();
15837 ignoreSubsolvers_.add(bs);
15843 com.google.ortools.sat.SatParameters.PARSER,
15844 extensionRegistry);
15845 if (subsolverParamsBuilder_ ==
null) {
15846 ensureSubsolverParamsIsMutable();
15847 subsolverParams_.add(m);
15849 subsolverParamsBuilder_.addMessage(m);
15854 minNumLnsWorkers_ = input.readInt32();
15855 bitField2_ |= 0x02000000;
15859 logFrequencyInSeconds_ = input.readDouble();
15860 bitField1_ |= 0x00100000;
15864 useEnergeticReasoningInNoOverlap2D_ = input.readBool();
15865 bitField3_ |= 0x00800000;
15869 useDualSchedulingHeuristics_ = input.readBool();
15870 bitField3_ |= 0x02000000;
15874 useHardPrecedencesInCumulative_ = input.readBool();
15875 bitField3_ |= 0x00080000;
15879 detectTableWithCost_ = input.readBool();
15880 bitField2_ |= 0x00000200;
15884 tableCompressionLevel_ = input.readInt32();
15885 bitField2_ |= 0x00000400;
15889 modelReductionLogFrequencyInSeconds_ = input.readDouble();
15890 bitField1_ |= 0x00200000;
15894 com.google.protobuf.ByteString bs = input.readBytes();
15895 ensureExtraSubsolversIsMutable();
15896 extraSubsolvers_.add(bs);
15900 exploitAllPrecedences_ = input.readBool();
15901 bitField3_ |= 0x00100000;
15905 propagationLoopDetectionFactor_ = input.readDouble();
15906 bitField3_ |= 0x00002000;
15910 onlySolveIp_ = input.readBool();
15911 bitField6_ |= 0x00100000;
15915 encodeComplexLinearConstraintWithInteger_ = input.readBool();
15916 bitField2_ |= 0x00004000;
15920 newLinearPropagation_ = input.readBool();
15921 bitField6_ |= 0x00004000;
15925 mipScaleLargeDomain_ = input.readBool();
15926 bitField6_ |= 0x00040000;
15930 probingDeterministicTimeLimit_ = input.readDouble();
15931 bitField1_ |= 0x80000000;
15935 rootLpIterations_ = input.readInt32();
15936 bitField4_ |= 0x00000200;
15940 useObjectiveLbSearch_ = input.readBool();
15941 bitField4_ |= 0x40000000;
15945 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = input.readInt32();
15946 bitField3_ |= 0x00008000;
15950 useStrongPropagationInDisjunctive_ = input.readBool();
15951 bitField3_ |= 0x00010000;
15955 mipDropTolerance_ = input.readDouble();
15956 bitField6_ |= 0x04000000;
15960 inferAllDiffs_ = input.readBool();
15961 bitField2_ |= 0x00200000;
15965 findBigLinearOverlap_ = input.readBool();
15966 bitField2_ |= 0x00400000;
15970 sharedTreeNumWorkers_ = input.readInt32();
15971 bitField5_ |= 0x00004000;
15975 useSharedTreeSearch_ = input.readBool();
15976 bitField5_ |= 0x00008000;
15980 sharedTreeWorkerObjectiveSplitProbability_ = input.readDouble();
15981 bitField5_ |= 0x00010000;
15985 sharedTreeMaxNodesPerWorker_ = input.readInt32();
15986 bitField5_ |= 0x00020000;
15990 int tmpRaw = input.readEnum();
15992 com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.forNumber(tmpRaw);
15993 if (tmpValue ==
null) {
15994 mergeUnknownVarintField(239, tmpRaw);
15996 sharedTreeSplitStrategy_ = tmpRaw;
15997 bitField5_ |= 0x00040000;
16002 testFeasibilityJump_ = input.readBool();
16003 bitField5_ |= 0x00000020;
16007 feasibilityJumpDecay_ = input.readDouble();
16008 bitField5_ |= 0x00000100;
16012 numViolationLs_ = input.readInt32();
16013 bitField5_ |= 0x00001000;
16017 feasibilityJumpMaxNumValuesScanned_ = input.readInt64();
16018 bitField5_ |= 0x00000040;
16022 feasibilityJumpProtectLinearFeasibility_ = input.readBool();
16023 bitField5_ |= 0x00000080;
16027 feasibilityJumpVarRandomizationProbability_ = input.readDouble();
16028 bitField5_ |= 0x00000200;
16032 feasibilityJumpVarPerburbationRangeRatio_ = input.readDouble();
16033 bitField5_ |= 0x00000400;
16037 violationLsPerturbationPeriod_ = input.readInt32();
16038 bitField5_ |= 0x00002000;
16042 feasibilityJumpEnableRestarts_ = input.readBool();
16043 bitField5_ |= 0x00000800;
16047 usePairwiseReasoningInNoOverlap2D_ = input.readBool();
16048 bitField3_ |= 0x01000000;
16052 stopAfterRootPropagation_ = input.readBool();
16053 bitField5_ |= 0x08000000;
16057 useObjectiveShavingSearch_ = input.readBool();
16058 bitField4_ |= 0x80000000;
16062 useLbRelaxLns_ = input.readBool();
16063 bitField6_ |= 0x00000001;
16067 linearSplitSize_ = input.readInt32();
16068 bitField6_ |= 0x00008000;
16072 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
16079 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
16080 throw e.unwrapIOException();
16086 private int bitField0_;
16087 private int bitField1_;
16088 private int bitField2_;
16089 private int bitField3_;
16090 private int bitField4_;
16091 private int bitField5_;
16092 private int bitField6_;
16094 private java.lang.Object name_ =
"";
16105 return ((bitField0_ & 0x00000001) != 0);
16117 java.lang.Object ref = name_;
16118 if (!(ref instanceof java.lang.String)) {
16119 com.google.protobuf.ByteString bs =
16120 (com.google.protobuf.ByteString) ref;
16121 java.lang.String s = bs.toStringUtf8();
16122 if (bs.isValidUtf8()) {
16127 return (java.lang.String) ref;
16139 public com.google.protobuf.ByteString
16141 java.lang.Object ref = name_;
16142 if (ref instanceof String) {
16143 com.google.protobuf.ByteString b =
16144 com.google.protobuf.ByteString.copyFromUtf8(
16145 (java.lang.String) ref);
16149 return (com.google.protobuf.ByteString) ref;
16163 java.lang.String value) {
16164 if (value ==
null) {
throw new NullPointerException(); }
16166 bitField0_ |= 0x00000001;
16181 bitField0_ = (bitField0_ & ~0x00000001);
16196 com.google.protobuf.ByteString value) {
16197 if (value ==
null) {
throw new NullPointerException(); }
16199 bitField0_ |= 0x00000001;
16204 private int preferredVariableOrder_ = 0;
16210 return ((bitField0_ & 0x00000002) != 0);
16216 @java.lang.Override
16219 return result ==
null ? com.google.ortools.sat.SatParameters.VariableOrder.IN_ORDER : result;
16227 if (value ==
null) {
16228 throw new NullPointerException();
16230 bitField0_ |= 0x00000002;
16231 preferredVariableOrder_ = value.getNumber();
16240 bitField0_ = (bitField0_ & ~0x00000002);
16241 preferredVariableOrder_ = 0;
16246 private int initialPolarity_ = 1;
16252 return ((bitField0_ & 0x00000004) != 0);
16258 @java.lang.Override
16261 return result ==
null ? com.google.ortools.sat.SatParameters.Polarity.POLARITY_FALSE : result;
16269 if (value ==
null) {
16270 throw new NullPointerException();
16272 bitField0_ |= 0x00000004;
16273 initialPolarity_ = value.getNumber();
16282 bitField0_ = (bitField0_ & ~0x00000004);
16283 initialPolarity_ = 1;
16288 private boolean usePhaseSaving_ =
true;
16307 @java.lang.Override
16309 return ((bitField0_ & 0x00000008) != 0);
16329 @java.lang.Override
16331 return usePhaseSaving_;
16354 usePhaseSaving_ = value;
16355 bitField0_ |= 0x00000008;
16378 bitField0_ = (bitField0_ & ~0x00000008);
16379 usePhaseSaving_ =
true;
16384 private int polarityRephaseIncrement_ = 1000;
16395 @java.lang.Override
16397 return ((bitField0_ & 0x00000010) != 0);
16409 @java.lang.Override
16411 return polarityRephaseIncrement_;
16426 polarityRephaseIncrement_ = value;
16427 bitField0_ |= 0x00000010;
16442 bitField0_ = (bitField0_ & ~0x00000010);
16443 polarityRephaseIncrement_ = 1000;
16448 private double randomPolarityRatio_ ;
16461 @java.lang.Override
16463 return ((bitField0_ & 0x00000020) != 0);
16477 @java.lang.Override
16479 return randomPolarityRatio_;
16496 randomPolarityRatio_ = value;
16497 bitField0_ |= 0x00000020;
16514 bitField0_ = (bitField0_ & ~0x00000020);
16515 randomPolarityRatio_ = 0D;
16520 private double randomBranchesRatio_ ;
16531 @java.lang.Override
16533 return ((bitField0_ & 0x00000040) != 0);
16545 @java.lang.Override
16547 return randomBranchesRatio_;
16562 randomBranchesRatio_ = value;
16563 bitField0_ |= 0x00000040;
16578 bitField0_ = (bitField0_ & ~0x00000040);
16579 randomBranchesRatio_ = 0D;
16584 private boolean useErwaHeuristic_ ;
16595 @java.lang.Override
16597 return ((bitField0_ & 0x00000080) != 0);
16609 @java.lang.Override
16611 return useErwaHeuristic_;
16626 useErwaHeuristic_ = value;
16627 bitField0_ |= 0x00000080;
16642 bitField0_ = (bitField0_ & ~0x00000080);
16643 useErwaHeuristic_ =
false;
16648 private double initialVariablesActivity_ ;
16662 @java.lang.Override
16664 return ((bitField0_ & 0x00000100) != 0);
16679 @java.lang.Override
16681 return initialVariablesActivity_;
16699 initialVariablesActivity_ = value;
16700 bitField0_ |= 0x00000100;
16718 bitField0_ = (bitField0_ & ~0x00000100);
16719 initialVariablesActivity_ = 0D;
16724 private boolean alsoBumpVariablesInConflictReasons_ ;
16736 @java.lang.Override
16738 return ((bitField0_ & 0x00000200) != 0);
16751 @java.lang.Override
16753 return alsoBumpVariablesInConflictReasons_;
16769 alsoBumpVariablesInConflictReasons_ = value;
16770 bitField0_ |= 0x00000200;
16786 bitField0_ = (bitField0_ & ~0x00000200);
16787 alsoBumpVariablesInConflictReasons_ =
false;
16792 private int minimizationAlgorithm_ = 2;
16798 return ((bitField0_ & 0x00000400) != 0);
16804 @java.lang.Override
16807 return result ==
null ? com.google.ortools.sat.SatParameters.ConflictMinimizationAlgorithm.RECURSIVE : result;
16815 if (value ==
null) {
16816 throw new NullPointerException();
16818 bitField0_ |= 0x00000400;
16819 minimizationAlgorithm_ = value.getNumber();
16828 bitField0_ = (bitField0_ & ~0x00000400);
16829 minimizationAlgorithm_ = 2;
16834 private int binaryMinimizationAlgorithm_ = 1;
16840 return ((bitField0_ & 0x00000800) != 0);
16846 @java.lang.Override
16849 return result ==
null ? com.google.ortools.sat.SatParameters.BinaryMinizationAlgorithm.BINARY_MINIMIZATION_FIRST : result;
16857 if (value ==
null) {
16858 throw new NullPointerException();
16860 bitField0_ |= 0x00000800;
16861 binaryMinimizationAlgorithm_ = value.getNumber();
16870 bitField0_ = (bitField0_ & ~0x00000800);
16871 binaryMinimizationAlgorithm_ = 1;
16876 private boolean subsumptionDuringConflictAnalysis_ =
true;
16888 @java.lang.Override
16890 return ((bitField0_ & 0x00001000) != 0);
16903 @java.lang.Override
16905 return subsumptionDuringConflictAnalysis_;
16921 subsumptionDuringConflictAnalysis_ = value;
16922 bitField0_ |= 0x00001000;
16938 bitField0_ = (bitField0_ & ~0x00001000);
16939 subsumptionDuringConflictAnalysis_ =
true;
16944 private int clauseCleanupPeriod_ = 10000;
16953 @java.lang.Override
16955 return ((bitField0_ & 0x00002000) != 0);
16965 @java.lang.Override
16967 return clauseCleanupPeriod_;
16980 clauseCleanupPeriod_ = value;
16981 bitField0_ |= 0x00002000;
16994 bitField0_ = (bitField0_ & ~0x00002000);
16995 clauseCleanupPeriod_ = 10000;
17000 private int clauseCleanupTarget_ ;
17010 @java.lang.Override
17012 return ((bitField0_ & 0x00004000) != 0);
17023 @java.lang.Override
17025 return clauseCleanupTarget_;
17039 clauseCleanupTarget_ = value;
17040 bitField0_ |= 0x00004000;
17054 bitField0_ = (bitField0_ & ~0x00004000);
17055 clauseCleanupTarget_ = 0;
17060 private double clauseCleanupRatio_ = 0.5D;
17071 @java.lang.Override
17073 return ((bitField0_ & 0x00008000) != 0);
17085 @java.lang.Override
17087 return clauseCleanupRatio_;
17102 clauseCleanupRatio_ = value;
17103 bitField0_ |= 0x00008000;
17118 bitField0_ = (bitField0_ & ~0x00008000);
17119 clauseCleanupRatio_ = 0.5D;
17124 private int clauseCleanupProtection_ = 0;
17130 return ((bitField0_ & 0x00010000) != 0);
17136 @java.lang.Override
17139 return result ==
null ? com.google.ortools.sat.SatParameters.ClauseProtection.PROTECTION_NONE : result;
17147 if (value ==
null) {
17148 throw new NullPointerException();
17150 bitField0_ |= 0x00010000;
17151 clauseCleanupProtection_ = value.getNumber();
17160 bitField0_ = (bitField0_ & ~0x00010000);
17161 clauseCleanupProtection_ = 0;
17166 private int clauseCleanupLbdBound_ = 5;
17176 @java.lang.Override
17178 return ((bitField0_ & 0x00020000) != 0);
17189 @java.lang.Override
17191 return clauseCleanupLbdBound_;
17205 clauseCleanupLbdBound_ = value;
17206 bitField0_ |= 0x00020000;
17220 bitField0_ = (bitField0_ & ~0x00020000);
17221 clauseCleanupLbdBound_ = 5;
17226 private int clauseCleanupOrdering_ = 0;
17232 return ((bitField0_ & 0x00040000) != 0);
17238 @java.lang.Override
17241 return result ==
null ? com.google.ortools.sat.SatParameters.ClauseOrdering.CLAUSE_ACTIVITY : result;
17249 if (value ==
null) {
17250 throw new NullPointerException();
17252 bitField0_ |= 0x00040000;
17253 clauseCleanupOrdering_ = value.getNumber();
17262 bitField0_ = (bitField0_ & ~0x00040000);
17263 clauseCleanupOrdering_ = 0;
17268 private int pbCleanupIncrement_ = 200;
17277 @java.lang.Override
17279 return ((bitField0_ & 0x00080000) != 0);
17289 @java.lang.Override
17291 return pbCleanupIncrement_;
17304 pbCleanupIncrement_ = value;
17305 bitField0_ |= 0x00080000;
17318 bitField0_ = (bitField0_ & ~0x00080000);
17319 pbCleanupIncrement_ = 200;
17324 private double pbCleanupRatio_ = 0.5D;
17329 @java.lang.Override
17331 return ((bitField0_ & 0x00100000) != 0);
17337 @java.lang.Override
17339 return pbCleanupRatio_;
17348 pbCleanupRatio_ = value;
17349 bitField0_ |= 0x00100000;
17358 bitField0_ = (bitField0_ & ~0x00100000);
17359 pbCleanupRatio_ = 0.5D;
17364 private int minimizeWithPropagationRestartPeriod_ = 10;
17385 @java.lang.Override
17387 return ((bitField0_ & 0x00200000) != 0);
17409 @java.lang.Override
17411 return minimizeWithPropagationRestartPeriod_;
17436 minimizeWithPropagationRestartPeriod_ = value;
17437 bitField0_ |= 0x00200000;
17462 bitField0_ = (bitField0_ & ~0x00200000);
17463 minimizeWithPropagationRestartPeriod_ = 10;
17468 private int minimizeWithPropagationNumDecisions_ = 1000;
17473 @java.lang.Override
17475 return ((bitField0_ & 0x00400000) != 0);
17481 @java.lang.Override
17483 return minimizeWithPropagationNumDecisions_;
17492 minimizeWithPropagationNumDecisions_ = value;
17493 bitField0_ |= 0x00400000;
17502 bitField0_ = (bitField0_ & ~0x00400000);
17503 minimizeWithPropagationNumDecisions_ = 1000;
17508 private double variableActivityDecay_ = 0.8D;
17524 @java.lang.Override
17526 return ((bitField0_ & 0x00800000) != 0);
17543 @java.lang.Override
17545 return variableActivityDecay_;
17565 variableActivityDecay_ = value;
17566 bitField0_ |= 0x00800000;
17586 bitField0_ = (bitField0_ & ~0x00800000);
17587 variableActivityDecay_ = 0.8D;
17592 private double maxVariableActivityValue_ = 1e+100D;
17597 @java.lang.Override
17599 return ((bitField0_ & 0x01000000) != 0);
17605 @java.lang.Override
17607 return maxVariableActivityValue_;
17616 maxVariableActivityValue_ = value;
17617 bitField0_ |= 0x01000000;
17626 bitField0_ = (bitField0_ & ~0x01000000);
17627 maxVariableActivityValue_ = 1e+100D;
17632 private double glucoseMaxDecay_ = 0.95D;
17645 @java.lang.Override
17647 return ((bitField0_ & 0x02000000) != 0);
17661 @java.lang.Override
17663 return glucoseMaxDecay_;
17680 glucoseMaxDecay_ = value;
17681 bitField0_ |= 0x02000000;
17698 bitField0_ = (bitField0_ & ~0x02000000);
17699 glucoseMaxDecay_ = 0.95D;
17704 private double glucoseDecayIncrement_ = 0.01D;
17709 @java.lang.Override
17711 return ((bitField0_ & 0x04000000) != 0);
17717 @java.lang.Override
17719 return glucoseDecayIncrement_;
17728 glucoseDecayIncrement_ = value;
17729 bitField0_ |= 0x04000000;
17738 bitField0_ = (bitField0_ & ~0x04000000);
17739 glucoseDecayIncrement_ = 0.01D;
17744 private int glucoseDecayIncrementPeriod_ = 5000;
17749 @java.lang.Override
17751 return ((bitField0_ & 0x08000000) != 0);
17757 @java.lang.Override
17759 return glucoseDecayIncrementPeriod_;
17768 glucoseDecayIncrementPeriod_ = value;
17769 bitField0_ |= 0x08000000;
17778 bitField0_ = (bitField0_ & ~0x08000000);
17779 glucoseDecayIncrementPeriod_ = 5000;
17784 private double clauseActivityDecay_ = 0.999D;
17793 @java.lang.Override
17795 return ((bitField0_ & 0x10000000) != 0);
17805 @java.lang.Override
17807 return clauseActivityDecay_;
17820 clauseActivityDecay_ = value;
17821 bitField0_ |= 0x10000000;
17834 bitField0_ = (bitField0_ & ~0x10000000);
17835 clauseActivityDecay_ = 0.999D;
17840 private double maxClauseActivityValue_ = 1e+20D;
17845 @java.lang.Override
17847 return ((bitField0_ & 0x20000000) != 0);
17853 @java.lang.Override
17855 return maxClauseActivityValue_;
17864 maxClauseActivityValue_ = value;
17865 bitField0_ |= 0x20000000;
17874 bitField0_ = (bitField0_ & ~0x20000000);
17875 maxClauseActivityValue_ = 1e+20D;
17880 private java.util.List<java.lang.Integer> restartAlgorithms_ =
17881 java.util.Collections.emptyList();
17882 private void ensureRestartAlgorithmsIsMutable() {
17883 if (!((bitField0_ & 0x40000000) != 0)) {
17884 restartAlgorithms_ =
new java.util.ArrayList<java.lang.Integer>(restartAlgorithms_);
17885 bitField0_ |= 0x40000000;
17905 return new com.google.protobuf.Internal.ListAdapter<
17906 java.lang.Integer, com.google.ortools.sat.SatParameters.RestartAlgorithm>(restartAlgorithms_, restartAlgorithms_converter_);
17925 return restartAlgorithms_.size();
17945 return restartAlgorithms_converter_.convert(restartAlgorithms_.get(index));
17966 int index, com.google.ortools.sat.SatParameters.RestartAlgorithm value) {
17967 if (value ==
null) {
17968 throw new NullPointerException();
17970 ensureRestartAlgorithmsIsMutable();
17971 restartAlgorithms_.set(index, value.getNumber());
17993 if (value ==
null) {
17994 throw new NullPointerException();
17996 ensureRestartAlgorithmsIsMutable();
17997 restartAlgorithms_.add(value.getNumber());
18019 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters.RestartAlgorithm> values) {
18020 ensureRestartAlgorithmsIsMutable();
18021 for (com.google.ortools.sat.SatParameters.RestartAlgorithm value : values) {
18022 restartAlgorithms_.add(value.getNumber());
18044 restartAlgorithms_ = java.util.Collections.emptyList();
18045 bitField0_ = (bitField0_ & ~0x40000000);
18050 private java.lang.Object defaultRestartAlgorithms_ =
"LUBY_RESTART,LBD_MOVING_AVERAGE_RESTART,DL_MOVING_AVERAGE_RESTART";
18056 return ((bitField0_ & 0x80000000) != 0);
18063 java.lang.Object ref = defaultRestartAlgorithms_;
18064 if (!(ref instanceof java.lang.String)) {
18065 com.google.protobuf.ByteString bs =
18066 (com.google.protobuf.ByteString) ref;
18067 java.lang.String s = bs.toStringUtf8();
18068 if (bs.isValidUtf8()) {
18069 defaultRestartAlgorithms_ = s;
18073 return (java.lang.String) ref;
18080 public com.google.protobuf.ByteString
18082 java.lang.Object ref = defaultRestartAlgorithms_;
18083 if (ref instanceof String) {
18084 com.google.protobuf.ByteString b =
18085 com.google.protobuf.ByteString.copyFromUtf8(
18086 (java.lang.String) ref);
18087 defaultRestartAlgorithms_ = b;
18090 return (com.google.protobuf.ByteString) ref;
18099 java.lang.String value) {
18100 if (value ==
null) {
throw new NullPointerException(); }
18101 defaultRestartAlgorithms_ = value;
18102 bitField0_ |= 0x80000000;
18112 bitField0_ = (bitField0_ & ~0x80000000);
18122 com.google.protobuf.ByteString value) {
18123 if (value ==
null) {
throw new NullPointerException(); }
18124 defaultRestartAlgorithms_ = value;
18125 bitField0_ |= 0x80000000;
18130 private int restartPeriod_ = 50;
18140 @java.lang.Override
18142 return ((bitField1_ & 0x00000001) != 0);
18153 @java.lang.Override
18155 return restartPeriod_;
18169 restartPeriod_ = value;
18170 bitField1_ |= 0x00000001;
18184 bitField1_ = (bitField1_ & ~0x00000001);
18185 restartPeriod_ = 50;
18190 private int restartRunningWindowSize_ = 50;
18199 @java.lang.Override
18201 return ((bitField1_ & 0x00000002) != 0);
18211 @java.lang.Override
18213 return restartRunningWindowSize_;
18226 restartRunningWindowSize_ = value;
18227 bitField1_ |= 0x00000002;
18240 bitField1_ = (bitField1_ & ~0x00000002);
18241 restartRunningWindowSize_ = 50;
18246 private double restartDlAverageRatio_ = 1D;
18256 @java.lang.Override
18258 return ((bitField1_ & 0x00000004) != 0);
18269 @java.lang.Override
18271 return restartDlAverageRatio_;
18285 restartDlAverageRatio_ = value;
18286 bitField1_ |= 0x00000004;
18300 bitField1_ = (bitField1_ & ~0x00000004);
18301 restartDlAverageRatio_ = 1D;
18306 private double restartLbdAverageRatio_ = 1D;
18311 @java.lang.Override
18313 return ((bitField1_ & 0x00000008) != 0);
18319 @java.lang.Override
18321 return restartLbdAverageRatio_;
18330 restartLbdAverageRatio_ = value;
18331 bitField1_ |= 0x00000008;
18340 bitField1_ = (bitField1_ & ~0x00000008);
18341 restartLbdAverageRatio_ = 1D;
18346 private boolean useBlockingRestart_ ;
18357 @java.lang.Override
18359 return ((bitField1_ & 0x00000010) != 0);
18371 @java.lang.Override
18373 return useBlockingRestart_;
18388 useBlockingRestart_ = value;
18389 bitField1_ |= 0x00000010;
18404 bitField1_ = (bitField1_ & ~0x00000010);
18405 useBlockingRestart_ =
false;
18410 private int blockingRestartWindowSize_ = 5000;
18415 @java.lang.Override
18417 return ((bitField1_ & 0x00000020) != 0);
18423 @java.lang.Override
18425 return blockingRestartWindowSize_;
18434 blockingRestartWindowSize_ = value;
18435 bitField1_ |= 0x00000020;
18444 bitField1_ = (bitField1_ & ~0x00000020);
18445 blockingRestartWindowSize_ = 5000;
18450 private double blockingRestartMultiplier_ = 1.4D;
18455 @java.lang.Override
18457 return ((bitField1_ & 0x00000040) != 0);
18463 @java.lang.Override
18465 return blockingRestartMultiplier_;
18474 blockingRestartMultiplier_ = value;
18475 bitField1_ |= 0x00000040;
18484 bitField1_ = (bitField1_ & ~0x00000040);
18485 blockingRestartMultiplier_ = 1.4D;
18490 private int numConflictsBeforeStrategyChanges_ ;
18501 @java.lang.Override
18503 return ((bitField1_ & 0x00000080) != 0);
18515 @java.lang.Override
18517 return numConflictsBeforeStrategyChanges_;
18532 numConflictsBeforeStrategyChanges_ = value;
18533 bitField1_ |= 0x00000080;
18548 bitField1_ = (bitField1_ & ~0x00000080);
18549 numConflictsBeforeStrategyChanges_ = 0;
18554 private double strategyChangeIncreaseRatio_ ;
18564 @java.lang.Override
18566 return ((bitField1_ & 0x00000100) != 0);
18577 @java.lang.Override
18579 return strategyChangeIncreaseRatio_;
18593 strategyChangeIncreaseRatio_ = value;
18594 bitField1_ |= 0x00000100;
18608 bitField1_ = (bitField1_ & ~0x00000100);
18609 strategyChangeIncreaseRatio_ = 0D;
18614 private double maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
18624 @java.lang.Override
18626 return ((bitField1_ & 0x00000200) != 0);
18637 @java.lang.Override
18639 return maxTimeInSeconds_;
18653 maxTimeInSeconds_ = value;
18654 bitField1_ |= 0x00000200;
18668 bitField1_ = (bitField1_ & ~0x00000200);
18669 maxTimeInSeconds_ = Double.POSITIVE_INFINITY;
18674 private double maxDeterministicTime_ = Double.POSITIVE_INFINITY;
18685 @java.lang.Override
18687 return ((bitField1_ & 0x00000400) != 0);
18699 @java.lang.Override
18701 return maxDeterministicTime_;
18716 maxDeterministicTime_ = value;
18717 bitField1_ |= 0x00000400;
18732 bitField1_ = (bitField1_ & ~0x00000400);
18733 maxDeterministicTime_ = Double.POSITIVE_INFINITY;
18738 private long maxNumberOfConflicts_ = 9223372036854775807L;
18753 @java.lang.Override
18755 return ((bitField1_ & 0x00000800) != 0);
18771 @java.lang.Override
18773 return maxNumberOfConflicts_;
18792 maxNumberOfConflicts_ = value;
18793 bitField1_ |= 0x00000800;
18812 bitField1_ = (bitField1_ & ~0x00000800);
18813 maxNumberOfConflicts_ = 9223372036854775807L;
18818 private long maxMemoryInMb_ = 10000L;
18832 @java.lang.Override
18834 return ((bitField1_ & 0x00001000) != 0);
18849 @java.lang.Override
18851 return maxMemoryInMb_;
18869 maxMemoryInMb_ = value;
18870 bitField1_ |= 0x00001000;
18888 bitField1_ = (bitField1_ & ~0x00001000);
18889 maxMemoryInMb_ = 10000L;
18894 private double absoluteGapLimit_ = 0.0001D;
18920 @java.lang.Override
18922 return ((bitField1_ & 0x00002000) != 0);
18949 @java.lang.Override
18951 return absoluteGapLimit_;
18981 absoluteGapLimit_ = value;
18982 bitField1_ |= 0x00002000;
19012 bitField1_ = (bitField1_ & ~0x00002000);
19013 absoluteGapLimit_ = 0.0001D;
19018 private double relativeGapLimit_ ;
19023 @java.lang.Override
19025 return ((bitField1_ & 0x00004000) != 0);
19031 @java.lang.Override
19033 return relativeGapLimit_;
19042 relativeGapLimit_ = value;
19043 bitField1_ |= 0x00004000;
19052 bitField1_ = (bitField1_ & ~0x00004000);
19053 relativeGapLimit_ = 0D;
19058 private int randomSeed_ = 1;
19073 @java.lang.Override
19075 return ((bitField1_ & 0x00008000) != 0);
19091 @java.lang.Override
19093 return randomSeed_;
19112 randomSeed_ = value;
19113 bitField1_ |= 0x00008000;
19132 bitField1_ = (bitField1_ & ~0x00008000);
19138 private boolean permuteVariableRandomly_ ;
19150 @java.lang.Override
19152 return ((bitField1_ & 0x00010000) != 0);
19165 @java.lang.Override
19167 return permuteVariableRandomly_;
19183 permuteVariableRandomly_ = value;
19184 bitField1_ |= 0x00010000;
19200 bitField1_ = (bitField1_ & ~0x00010000);
19201 permuteVariableRandomly_ =
false;
19206 private boolean permutePresolveConstraintOrder_ ;
19211 @java.lang.Override
19213 return ((bitField1_ & 0x00020000) != 0);
19219 @java.lang.Override
19221 return permutePresolveConstraintOrder_;
19230 permutePresolveConstraintOrder_ = value;
19231 bitField1_ |= 0x00020000;
19240 bitField1_ = (bitField1_ & ~0x00020000);
19241 permutePresolveConstraintOrder_ =
false;
19246 private boolean useAbslRandom_ ;
19251 @java.lang.Override
19253 return ((bitField1_ & 0x00040000) != 0);
19259 @java.lang.Override
19261 return useAbslRandom_;
19270 useAbslRandom_ = value;
19271 bitField1_ |= 0x00040000;
19280 bitField1_ = (bitField1_ & ~0x00040000);
19281 useAbslRandom_ =
false;
19286 private boolean logSearchProgress_ ;
19297 @java.lang.Override
19299 return ((bitField1_ & 0x00080000) != 0);
19311 @java.lang.Override
19313 return logSearchProgress_;
19328 logSearchProgress_ = value;
19329 bitField1_ |= 0x00080000;
19344 bitField1_ = (bitField1_ & ~0x00080000);
19345 logSearchProgress_ =
false;
19350 private double logFrequencyInSeconds_ = -1D;
19361 @java.lang.Override
19363 return ((bitField1_ & 0x00100000) != 0);
19375 @java.lang.Override
19377 return logFrequencyInSeconds_;
19392 logFrequencyInSeconds_ = value;
19393 bitField1_ |= 0x00100000;
19408 bitField1_ = (bitField1_ & ~0x00100000);
19409 logFrequencyInSeconds_ = -1D;
19414 private double modelReductionLogFrequencyInSeconds_ = 5D;
19419 @java.lang.Override
19421 return ((bitField1_ & 0x00200000) != 0);
19427 @java.lang.Override
19429 return modelReductionLogFrequencyInSeconds_;
19438 modelReductionLogFrequencyInSeconds_ = value;
19439 bitField1_ |= 0x00200000;
19448 bitField1_ = (bitField1_ & ~0x00200000);
19449 modelReductionLogFrequencyInSeconds_ = 5D;
19454 private boolean logSubsolverStatistics_ ;
19466 @java.lang.Override
19468 return ((bitField1_ & 0x00400000) != 0);
19481 @java.lang.Override
19483 return logSubsolverStatistics_;
19499 logSubsolverStatistics_ = value;
19500 bitField1_ |= 0x00400000;
19516 bitField1_ = (bitField1_ & ~0x00400000);
19517 logSubsolverStatistics_ =
false;
19522 private java.lang.Object logPrefix_ =
"";
19532 return ((bitField1_ & 0x00800000) != 0);
19543 java.lang.Object ref = logPrefix_;
19544 if (!(ref instanceof java.lang.String)) {
19545 com.google.protobuf.ByteString bs =
19546 (com.google.protobuf.ByteString) ref;
19547 java.lang.String s = bs.toStringUtf8();
19548 if (bs.isValidUtf8()) {
19553 return (java.lang.String) ref;
19564 public com.google.protobuf.ByteString
19566 java.lang.Object ref = logPrefix_;
19567 if (ref instanceof String) {
19568 com.google.protobuf.ByteString b =
19569 com.google.protobuf.ByteString.copyFromUtf8(
19570 (java.lang.String) ref);
19574 return (com.google.protobuf.ByteString) ref;
19587 java.lang.String value) {
19588 if (value ==
null) {
throw new NullPointerException(); }
19589 logPrefix_ = value;
19590 bitField1_ |= 0x00800000;
19604 bitField1_ = (bitField1_ & ~0x00800000);
19618 com.google.protobuf.ByteString value) {
19619 if (value ==
null) {
throw new NullPointerException(); }
19620 logPrefix_ = value;
19621 bitField1_ |= 0x00800000;
19626 private boolean logToStdout_ =
true;
19635 @java.lang.Override
19637 return ((bitField1_ & 0x01000000) != 0);
19647 @java.lang.Override
19649 return logToStdout_;
19662 logToStdout_ = value;
19663 bitField1_ |= 0x01000000;
19676 bitField1_ = (bitField1_ & ~0x01000000);
19677 logToStdout_ =
true;
19682 private boolean logToResponse_ ;
19691 @java.lang.Override
19693 return ((bitField1_ & 0x02000000) != 0);
19703 @java.lang.Override
19705 return logToResponse_;
19718 logToResponse_ = value;
19719 bitField1_ |= 0x02000000;
19732 bitField1_ = (bitField1_ & ~0x02000000);
19733 logToResponse_ =
false;
19738 private boolean usePbResolution_ ;
19750 @java.lang.Override
19752 return ((bitField1_ & 0x04000000) != 0);
19765 @java.lang.Override
19767 return usePbResolution_;
19783 usePbResolution_ = value;
19784 bitField1_ |= 0x04000000;
19800 bitField1_ = (bitField1_ & ~0x04000000);
19801 usePbResolution_ =
false;
19806 private boolean minimizeReductionDuringPbResolution_ ;
19818 @java.lang.Override
19820 return ((bitField1_ & 0x08000000) != 0);
19833 @java.lang.Override
19835 return minimizeReductionDuringPbResolution_;
19851 minimizeReductionDuringPbResolution_ = value;
19852 bitField1_ |= 0x08000000;
19868 bitField1_ = (bitField1_ & ~0x08000000);
19869 minimizeReductionDuringPbResolution_ =
false;
19874 private boolean countAssumptionLevelsInLbd_ =
true;
19891 @java.lang.Override
19893 return ((bitField1_ & 0x10000000) != 0);
19911 @java.lang.Override
19913 return countAssumptionLevelsInLbd_;
19934 countAssumptionLevelsInLbd_ = value;
19935 bitField1_ |= 0x10000000;
19956 bitField1_ = (bitField1_ & ~0x10000000);
19957 countAssumptionLevelsInLbd_ =
true;
19962 private int presolveBveThreshold_ = 500;
19973 @java.lang.Override
19975 return ((bitField1_ & 0x20000000) != 0);
19987 @java.lang.Override
19989 return presolveBveThreshold_;
20004 presolveBveThreshold_ = value;
20005 bitField1_ |= 0x20000000;
20020 bitField1_ = (bitField1_ & ~0x20000000);
20021 presolveBveThreshold_ = 500;
20026 private int presolveBveClauseWeight_ = 3;
20036 @java.lang.Override
20038 return ((bitField1_ & 0x40000000) != 0);
20049 @java.lang.Override
20051 return presolveBveClauseWeight_;
20065 presolveBveClauseWeight_ = value;
20066 bitField1_ |= 0x40000000;
20080 bitField1_ = (bitField1_ & ~0x40000000);
20081 presolveBveClauseWeight_ = 3;
20086 private double probingDeterministicTimeLimit_ = 1D;
20099 @java.lang.Override
20101 return ((bitField1_ & 0x80000000) != 0);
20115 @java.lang.Override
20117 return probingDeterministicTimeLimit_;
20134 probingDeterministicTimeLimit_ = value;
20135 bitField1_ |= 0x80000000;
20152 bitField1_ = (bitField1_ & ~0x80000000);
20153 probingDeterministicTimeLimit_ = 1D;
20158 private double presolveProbingDeterministicTimeLimit_ = 30D;
20163 @java.lang.Override
20165 return ((bitField2_ & 0x00000001) != 0);
20171 @java.lang.Override
20173 return presolveProbingDeterministicTimeLimit_;
20182 presolveProbingDeterministicTimeLimit_ = value;
20183 bitField2_ |= 0x00000001;
20192 bitField2_ = (bitField2_ & ~0x00000001);
20193 presolveProbingDeterministicTimeLimit_ = 30D;
20198 private boolean presolveBlockedClause_ =
true;
20208 @java.lang.Override
20210 return ((bitField2_ & 0x00000002) != 0);
20221 @java.lang.Override
20223 return presolveBlockedClause_;
20237 presolveBlockedClause_ = value;
20238 bitField2_ |= 0x00000002;
20252 bitField2_ = (bitField2_ & ~0x00000002);
20253 presolveBlockedClause_ =
true;
20258 private boolean presolveUseBva_ =
true;
20267 @java.lang.Override
20269 return ((bitField2_ & 0x00000004) != 0);
20279 @java.lang.Override
20281 return presolveUseBva_;
20294 presolveUseBva_ = value;
20295 bitField2_ |= 0x00000004;
20308 bitField2_ = (bitField2_ & ~0x00000004);
20309 presolveUseBva_ =
true;
20314 private int presolveBvaThreshold_ = 1;
20326 @java.lang.Override
20328 return ((bitField2_ & 0x00000008) != 0);
20341 @java.lang.Override
20343 return presolveBvaThreshold_;
20359 presolveBvaThreshold_ = value;
20360 bitField2_ |= 0x00000008;
20376 bitField2_ = (bitField2_ & ~0x00000008);
20377 presolveBvaThreshold_ = 1;
20382 private int maxPresolveIterations_ = 3;
20393 @java.lang.Override
20395 return ((bitField2_ & 0x00000010) != 0);
20407 @java.lang.Override
20409 return maxPresolveIterations_;
20424 maxPresolveIterations_ = value;
20425 bitField2_ |= 0x00000010;
20440 bitField2_ = (bitField2_ & ~0x00000010);
20441 maxPresolveIterations_ = 3;
20446 private boolean cpModelPresolve_ =
true;
20455 @java.lang.Override
20457 return ((bitField2_ & 0x00000020) != 0);
20467 @java.lang.Override
20469 return cpModelPresolve_;
20482 cpModelPresolve_ = value;
20483 bitField2_ |= 0x00000020;
20496 bitField2_ = (bitField2_ & ~0x00000020);
20497 cpModelPresolve_ =
true;
20502 private int cpModelProbingLevel_ = 2;
20511 @java.lang.Override
20513 return ((bitField2_ & 0x00000040) != 0);
20523 @java.lang.Override
20525 return cpModelProbingLevel_;
20538 cpModelProbingLevel_ = value;
20539 bitField2_ |= 0x00000040;
20552 bitField2_ = (bitField2_ & ~0x00000040);
20553 cpModelProbingLevel_ = 2;
20558 private boolean cpModelUseSatPresolve_ =
true;
20567 @java.lang.Override
20569 return ((bitField2_ & 0x00000080) != 0);
20579 @java.lang.Override
20581 return cpModelUseSatPresolve_;
20594 cpModelUseSatPresolve_ = value;
20595 bitField2_ |= 0x00000080;
20608 bitField2_ = (bitField2_ & ~0x00000080);
20609 cpModelUseSatPresolve_ =
true;
20614 private boolean useSatInprocessing_ ;
20619 @java.lang.Override
20621 return ((bitField2_ & 0x00000100) != 0);
20627 @java.lang.Override
20629 return useSatInprocessing_;
20638 useSatInprocessing_ = value;
20639 bitField2_ |= 0x00000100;
20648 bitField2_ = (bitField2_ & ~0x00000100);
20649 useSatInprocessing_ =
false;
20654 private boolean detectTableWithCost_ ;
20668 @java.lang.Override
20670 return ((bitField2_ & 0x00000200) != 0);
20685 @java.lang.Override
20687 return detectTableWithCost_;
20705 detectTableWithCost_ = value;
20706 bitField2_ |= 0x00000200;
20724 bitField2_ = (bitField2_ & ~0x00000200);
20725 detectTableWithCost_ =
false;
20730 private int tableCompressionLevel_ = 2;
20742 @java.lang.Override
20744 return ((bitField2_ & 0x00000400) != 0);
20757 @java.lang.Override
20759 return tableCompressionLevel_;
20775 tableCompressionLevel_ = value;
20776 bitField2_ |= 0x00000400;
20792 bitField2_ = (bitField2_ & ~0x00000400);
20793 tableCompressionLevel_ = 2;
20798 private boolean expandAlldiffConstraints_ ;
20808 @java.lang.Override
20810 return ((bitField2_ & 0x00000800) != 0);
20821 @java.lang.Override
20823 return expandAlldiffConstraints_;
20837 expandAlldiffConstraints_ = value;
20838 bitField2_ |= 0x00000800;
20852 bitField2_ = (bitField2_ & ~0x00000800);
20853 expandAlldiffConstraints_ =
false;
20858 private boolean expandReservoirConstraints_ =
true;
20868 @java.lang.Override
20870 return ((bitField2_ & 0x00001000) != 0);
20881 @java.lang.Override
20883 return expandReservoirConstraints_;
20897 expandReservoirConstraints_ = value;
20898 bitField2_ |= 0x00001000;
20912 bitField2_ = (bitField2_ & ~0x00001000);
20913 expandReservoirConstraints_ =
true;
20918 private boolean disableConstraintExpansion_ ;
20928 @java.lang.Override
20930 return ((bitField2_ & 0x00002000) != 0);
20941 @java.lang.Override
20943 return disableConstraintExpansion_;
20957 disableConstraintExpansion_ = value;
20958 bitField2_ |= 0x00002000;
20972 bitField2_ = (bitField2_ & ~0x00002000);
20973 disableConstraintExpansion_ =
false;
20978 private boolean encodeComplexLinearConstraintWithInteger_ ;
20988 @java.lang.Override
20990 return ((bitField2_ & 0x00004000) != 0);
21001 @java.lang.Override
21003 return encodeComplexLinearConstraintWithInteger_;
21017 encodeComplexLinearConstraintWithInteger_ = value;
21018 bitField2_ |= 0x00004000;
21032 bitField2_ = (bitField2_ & ~0x00004000);
21033 encodeComplexLinearConstraintWithInteger_ =
false;
21038 private double mergeNoOverlapWorkLimit_ = 1000000000000D;
21051 @java.lang.Override
21053 return ((bitField2_ & 0x00008000) != 0);
21067 @java.lang.Override
21069 return mergeNoOverlapWorkLimit_;
21086 mergeNoOverlapWorkLimit_ = value;
21087 bitField2_ |= 0x00008000;
21104 bitField2_ = (bitField2_ & ~0x00008000);
21105 mergeNoOverlapWorkLimit_ = 1000000000000D;
21110 private double mergeAtMostOneWorkLimit_ = 100000000D;
21115 @java.lang.Override
21117 return ((bitField2_ & 0x00010000) != 0);
21123 @java.lang.Override
21125 return mergeAtMostOneWorkLimit_;
21134 mergeAtMostOneWorkLimit_ = value;
21135 bitField2_ |= 0x00010000;
21144 bitField2_ = (bitField2_ & ~0x00010000);
21145 mergeAtMostOneWorkLimit_ = 100000000D;
21150 private int presolveSubstitutionLevel_ = 1;
21162 @java.lang.Override
21164 return ((bitField2_ & 0x00020000) != 0);
21177 @java.lang.Override
21179 return presolveSubstitutionLevel_;
21195 presolveSubstitutionLevel_ = value;
21196 bitField2_ |= 0x00020000;
21212 bitField2_ = (bitField2_ & ~0x00020000);
21213 presolveSubstitutionLevel_ = 1;
21218 private boolean presolveExtractIntegerEnforcement_ ;
21232 @java.lang.Override
21234 return ((bitField2_ & 0x00040000) != 0);
21249 @java.lang.Override
21251 return presolveExtractIntegerEnforcement_;
21269 presolveExtractIntegerEnforcement_ = value;
21270 bitField2_ |= 0x00040000;
21288 bitField2_ = (bitField2_ & ~0x00040000);
21289 presolveExtractIntegerEnforcement_ =
false;
21294 private long presolveInclusionWorkLimit_ = 100000000L;
21309 @java.lang.Override
21311 return ((bitField2_ & 0x00080000) != 0);
21327 @java.lang.Override
21329 return presolveInclusionWorkLimit_;
21348 presolveInclusionWorkLimit_ = value;
21349 bitField2_ |= 0x00080000;
21368 bitField2_ = (bitField2_ & ~0x00080000);
21369 presolveInclusionWorkLimit_ = 100000000L;
21374 private boolean ignoreNames_ =
true;
21383 @java.lang.Override
21385 return ((bitField2_ & 0x00100000) != 0);
21395 @java.lang.Override
21397 return ignoreNames_;
21410 ignoreNames_ = value;
21411 bitField2_ |= 0x00100000;
21424 bitField2_ = (bitField2_ & ~0x00100000);
21425 ignoreNames_ =
true;
21430 private boolean inferAllDiffs_ =
true;
21443 @java.lang.Override
21445 return ((bitField2_ & 0x00200000) != 0);
21459 @java.lang.Override
21461 return inferAllDiffs_;
21478 inferAllDiffs_ = value;
21479 bitField2_ |= 0x00200000;
21496 bitField2_ = (bitField2_ & ~0x00200000);
21497 inferAllDiffs_ =
true;
21502 private boolean findBigLinearOverlap_ =
true;
21514 @java.lang.Override
21516 return ((bitField2_ & 0x00400000) != 0);
21529 @java.lang.Override
21531 return findBigLinearOverlap_;
21547 findBigLinearOverlap_ = value;
21548 bitField2_ |= 0x00400000;
21564 bitField2_ = (bitField2_ & ~0x00400000);
21565 findBigLinearOverlap_ =
true;
21570 private int numWorkers_ ;
21592 @java.lang.Override
21594 return ((bitField2_ & 0x00800000) != 0);
21617 @java.lang.Override
21619 return numWorkers_;
21645 numWorkers_ = value;
21646 bitField2_ |= 0x00800000;
21672 bitField2_ = (bitField2_ & ~0x00800000);
21678 private int numSearchWorkers_ ;
21683 @java.lang.Override
21685 return ((bitField2_ & 0x01000000) != 0);
21691 @java.lang.Override
21693 return numSearchWorkers_;
21702 numSearchWorkers_ = value;
21703 bitField2_ |= 0x01000000;
21712 bitField2_ = (bitField2_ & ~0x01000000);
21713 numSearchWorkers_ = 0;
21718 private int minNumLnsWorkers_ = 2;
21731 @java.lang.Override
21733 return ((bitField2_ & 0x02000000) != 0);
21747 @java.lang.Override
21749 return minNumLnsWorkers_;
21766 minNumLnsWorkers_ = value;
21767 bitField2_ |= 0x02000000;
21784 bitField2_ = (bitField2_ & ~0x02000000);
21785 minNumLnsWorkers_ = 2;
21790 private com.google.protobuf.LazyStringArrayList subsolvers_ =
21791 com.google.protobuf.LazyStringArrayList.emptyList();
21792 private void ensureSubsolversIsMutable() {
21793 if (!subsolvers_.isModifiable()) {
21794 subsolvers_ =
new com.google.protobuf.LazyStringArrayList(subsolvers_);
21796 bitField2_ |= 0x04000000;
21833 public com.google.protobuf.ProtocolStringList
21835 subsolvers_.makeImmutable();
21836 return subsolvers_;
21874 return subsolvers_.size();
21913 return subsolvers_.get(index);
21951 public com.google.protobuf.ByteString
21953 return subsolvers_.getByteString(index);
21993 int index, java.lang.String value) {
21994 if (value ==
null) {
throw new NullPointerException(); }
21995 ensureSubsolversIsMutable();
21996 subsolvers_.set(index, value);
21997 bitField2_ |= 0x04000000;
22038 java.lang.String value) {
22039 if (value ==
null) {
throw new NullPointerException(); }
22040 ensureSubsolversIsMutable();
22041 subsolvers_.add(value);
22042 bitField2_ |= 0x04000000;
22083 java.lang.Iterable<java.lang.String> values) {
22084 ensureSubsolversIsMutable();
22085 com.google.protobuf.AbstractMessageLite.Builder.addAll(
22086 values, subsolvers_);
22087 bitField2_ |= 0x04000000;
22128 com.google.protobuf.LazyStringArrayList.emptyList();
22129 bitField2_ = (bitField2_ & ~0x04000000);;
22170 com.google.protobuf.ByteString value) {
22171 if (value ==
null) {
throw new NullPointerException(); }
22172 ensureSubsolversIsMutable();
22173 subsolvers_.add(value);
22174 bitField2_ |= 0x04000000;
22179 private com.google.protobuf.LazyStringArrayList extraSubsolvers_ =
22180 com.google.protobuf.LazyStringArrayList.emptyList();
22181 private void ensureExtraSubsolversIsMutable() {
22182 if (!extraSubsolvers_.isModifiable()) {
22183 extraSubsolvers_ =
new com.google.protobuf.LazyStringArrayList(extraSubsolvers_);
22185 bitField2_ |= 0x08000000;
22196 public com.google.protobuf.ProtocolStringList
22198 extraSubsolvers_.makeImmutable();
22199 return extraSubsolvers_;
22211 return extraSubsolvers_.size();
22224 return extraSubsolvers_.get(index);
22236 public com.google.protobuf.ByteString
22238 return extraSubsolvers_.getByteString(index);
22252 int index, java.lang.String value) {
22253 if (value ==
null) {
throw new NullPointerException(); }
22254 ensureExtraSubsolversIsMutable();
22255 extraSubsolvers_.set(index, value);
22256 bitField2_ |= 0x08000000;
22271 java.lang.String value) {
22272 if (value ==
null) {
throw new NullPointerException(); }
22273 ensureExtraSubsolversIsMutable();
22274 extraSubsolvers_.add(value);
22275 bitField2_ |= 0x08000000;
22290 java.lang.Iterable<java.lang.String> values) {
22291 ensureExtraSubsolversIsMutable();
22292 com.google.protobuf.AbstractMessageLite.Builder.addAll(
22293 values, extraSubsolvers_);
22294 bitField2_ |= 0x08000000;
22309 com.google.protobuf.LazyStringArrayList.emptyList();
22310 bitField2_ = (bitField2_ & ~0x08000000);;
22325 com.google.protobuf.ByteString value) {
22326 if (value ==
null) {
throw new NullPointerException(); }
22327 ensureExtraSubsolversIsMutable();
22328 extraSubsolvers_.add(value);
22329 bitField2_ |= 0x08000000;
22334 private com.google.protobuf.LazyStringArrayList ignoreSubsolvers_ =
22335 com.google.protobuf.LazyStringArrayList.emptyList();
22336 private void ensureIgnoreSubsolversIsMutable() {
22337 if (!ignoreSubsolvers_.isModifiable()) {
22338 ignoreSubsolvers_ =
new com.google.protobuf.LazyStringArrayList(ignoreSubsolvers_);
22340 bitField2_ |= 0x10000000;
22351 public com.google.protobuf.ProtocolStringList
22353 ignoreSubsolvers_.makeImmutable();
22354 return ignoreSubsolvers_;
22366 return ignoreSubsolvers_.size();
22379 return ignoreSubsolvers_.get(index);
22391 public com.google.protobuf.ByteString
22393 return ignoreSubsolvers_.getByteString(index);
22407 int index, java.lang.String value) {
22408 if (value ==
null) {
throw new NullPointerException(); }
22409 ensureIgnoreSubsolversIsMutable();
22410 ignoreSubsolvers_.set(index, value);
22411 bitField2_ |= 0x10000000;
22426 java.lang.String value) {
22427 if (value ==
null) {
throw new NullPointerException(); }
22428 ensureIgnoreSubsolversIsMutable();
22429 ignoreSubsolvers_.add(value);
22430 bitField2_ |= 0x10000000;
22445 java.lang.Iterable<java.lang.String> values) {
22446 ensureIgnoreSubsolversIsMutable();
22447 com.google.protobuf.AbstractMessageLite.Builder.addAll(
22448 values, ignoreSubsolvers_);
22449 bitField2_ |= 0x10000000;
22463 ignoreSubsolvers_ =
22464 com.google.protobuf.LazyStringArrayList.emptyList();
22465 bitField2_ = (bitField2_ & ~0x10000000);;
22480 com.google.protobuf.ByteString value) {
22481 if (value ==
null) {
throw new NullPointerException(); }
22482 ensureIgnoreSubsolversIsMutable();
22483 ignoreSubsolvers_.add(value);
22484 bitField2_ |= 0x10000000;
22489 private java.util.List<com.google.ortools.sat.SatParameters> subsolverParams_ =
22490 java.util.Collections.emptyList();
22491 private void ensureSubsolverParamsIsMutable() {
22492 if (!((bitField2_ & 0x20000000) != 0)) {
22493 subsolverParams_ =
new java.util.ArrayList<com.google.ortools.sat.SatParameters>(subsolverParams_);
22494 bitField2_ |= 0x20000000;
22498 private com.google.protobuf.RepeatedFieldBuilderV3<
22499 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder> subsolverParamsBuilder_;
22512 if (subsolverParamsBuilder_ ==
null) {
22513 return java.util.Collections.unmodifiableList(subsolverParams_);
22515 return subsolverParamsBuilder_.getMessageList();
22529 if (subsolverParamsBuilder_ ==
null) {
22530 return subsolverParams_.size();
22532 return subsolverParamsBuilder_.getCount();
22546 if (subsolverParamsBuilder_ ==
null) {
22547 return subsolverParams_.get(index);
22549 return subsolverParamsBuilder_.getMessage(index);
22563 int index, com.google.ortools.sat.SatParameters value) {
22564 if (subsolverParamsBuilder_ ==
null) {
22565 if (value ==
null) {
22566 throw new NullPointerException();
22568 ensureSubsolverParamsIsMutable();
22569 subsolverParams_.set(index, value);
22572 subsolverParamsBuilder_.setMessage(index, value);
22587 int index, com.google.ortools.sat.SatParameters.Builder builderForValue) {
22588 if (subsolverParamsBuilder_ ==
null) {
22589 ensureSubsolverParamsIsMutable();
22590 subsolverParams_.set(index, builderForValue.build());
22593 subsolverParamsBuilder_.setMessage(index, builderForValue.build());
22608 if (subsolverParamsBuilder_ ==
null) {
22609 if (value ==
null) {
22610 throw new NullPointerException();
22612 ensureSubsolverParamsIsMutable();
22613 subsolverParams_.add(value);
22616 subsolverParamsBuilder_.addMessage(value);
22631 int index, com.google.ortools.sat.SatParameters value) {
22632 if (subsolverParamsBuilder_ ==
null) {
22633 if (value ==
null) {
22634 throw new NullPointerException();
22636 ensureSubsolverParamsIsMutable();
22637 subsolverParams_.add(index, value);
22640 subsolverParamsBuilder_.addMessage(index, value);
22655 com.google.ortools.sat.SatParameters.Builder builderForValue) {
22656 if (subsolverParamsBuilder_ ==
null) {
22657 ensureSubsolverParamsIsMutable();
22658 subsolverParams_.add(builderForValue.build());
22661 subsolverParamsBuilder_.addMessage(builderForValue.build());
22676 int index, com.google.ortools.sat.SatParameters.Builder builderForValue) {
22677 if (subsolverParamsBuilder_ ==
null) {
22678 ensureSubsolverParamsIsMutable();
22679 subsolverParams_.add(index, builderForValue.build());
22682 subsolverParamsBuilder_.addMessage(index, builderForValue.build());
22697 java.lang.Iterable<? extends com.google.ortools.sat.SatParameters> values) {
22698 if (subsolverParamsBuilder_ ==
null) {
22699 ensureSubsolverParamsIsMutable();
22700 com.google.protobuf.AbstractMessageLite.Builder.addAll(
22701 values, subsolverParams_);
22704 subsolverParamsBuilder_.addAllMessages(values);
22719 if (subsolverParamsBuilder_ ==
null) {
22720 subsolverParams_ = java.util.Collections.emptyList();
22721 bitField2_ = (bitField2_ & ~0x20000000);
22724 subsolverParamsBuilder_.clear();
22739 if (subsolverParamsBuilder_ ==
null) {
22740 ensureSubsolverParamsIsMutable();
22741 subsolverParams_.remove(index);
22744 subsolverParamsBuilder_.remove(index);
22760 return getSubsolverParamsFieldBuilder().getBuilder(index);
22774 if (subsolverParamsBuilder_ ==
null) {
22775 return subsolverParams_.get(index); }
else {
22776 return subsolverParamsBuilder_.getMessageOrBuilder(index);
22789 public java.util.List<? extends com.google.ortools.sat.SatParametersOrBuilder>
22791 if (subsolverParamsBuilder_ !=
null) {
22792 return subsolverParamsBuilder_.getMessageOrBuilderList();
22794 return java.util.Collections.unmodifiableList(subsolverParams_);
22808 return getSubsolverParamsFieldBuilder().addBuilder(
22809 com.google.ortools.sat.SatParameters.getDefaultInstance());
22823 return getSubsolverParamsFieldBuilder().addBuilder(
22824 index, com.google.ortools.sat.SatParameters.getDefaultInstance());
22836 public java.util.List<com.google.ortools.sat.SatParameters.Builder>
22838 return getSubsolverParamsFieldBuilder().getBuilderList();
22840 private com.google.protobuf.RepeatedFieldBuilderV3<
22841 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>
22842 getSubsolverParamsFieldBuilder() {
22843 if (subsolverParamsBuilder_ ==
null) {
22844 subsolverParamsBuilder_ =
new com.google.protobuf.RepeatedFieldBuilderV3<
22845 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>(
22847 ((bitField2_ & 0x20000000) != 0),
22848 getParentForChildren(),
22850 subsolverParams_ =
null;
22852 return subsolverParamsBuilder_;
22855 private boolean interleaveSearch_ ;
22869 @java.lang.Override
22871 return ((bitField2_ & 0x40000000) != 0);
22886 @java.lang.Override
22888 return interleaveSearch_;
22906 interleaveSearch_ = value;
22907 bitField2_ |= 0x40000000;
22925 bitField2_ = (bitField2_ & ~0x40000000);
22926 interleaveSearch_ =
false;
22931 private int interleaveBatchSize_ ;
22936 @java.lang.Override
22938 return ((bitField2_ & 0x80000000) != 0);
22944 @java.lang.Override
22946 return interleaveBatchSize_;
22955 interleaveBatchSize_ = value;
22956 bitField2_ |= 0x80000000;
22965 bitField2_ = (bitField2_ & ~0x80000000);
22966 interleaveBatchSize_ = 0;
22971 private boolean shareObjectiveBounds_ =
true;
22980 @java.lang.Override
22982 return ((bitField3_ & 0x00000001) != 0);
22992 @java.lang.Override
22994 return shareObjectiveBounds_;
23007 shareObjectiveBounds_ = value;
23008 bitField3_ |= 0x00000001;
23021 bitField3_ = (bitField3_ & ~0x00000001);
23022 shareObjectiveBounds_ =
true;
23027 private boolean shareLevelZeroBounds_ =
true;
23036 @java.lang.Override
23038 return ((bitField3_ & 0x00000002) != 0);
23048 @java.lang.Override
23050 return shareLevelZeroBounds_;
23063 shareLevelZeroBounds_ = value;
23064 bitField3_ |= 0x00000002;
23077 bitField3_ = (bitField3_ & ~0x00000002);
23078 shareLevelZeroBounds_ =
true;
23083 private boolean shareBinaryClauses_ =
true;
23092 @java.lang.Override
23094 return ((bitField3_ & 0x00000004) != 0);
23104 @java.lang.Override
23106 return shareBinaryClauses_;
23119 shareBinaryClauses_ = value;
23120 bitField3_ |= 0x00000004;
23133 bitField3_ = (bitField3_ & ~0x00000004);
23134 shareBinaryClauses_ =
true;
23139 private boolean debugPostsolveWithFullSolver_ ;
23150 @java.lang.Override
23152 return ((bitField3_ & 0x00000008) != 0);
23164 @java.lang.Override
23166 return debugPostsolveWithFullSolver_;
23181 debugPostsolveWithFullSolver_ = value;
23182 bitField3_ |= 0x00000008;
23197 bitField3_ = (bitField3_ & ~0x00000008);
23198 debugPostsolveWithFullSolver_ =
false;
23203 private int debugMaxNumPresolveOperations_ ;
23213 @java.lang.Override
23215 return ((bitField3_ & 0x00000010) != 0);
23226 @java.lang.Override
23228 return debugMaxNumPresolveOperations_;
23242 debugMaxNumPresolveOperations_ = value;
23243 bitField3_ |= 0x00000010;
23257 bitField3_ = (bitField3_ & ~0x00000010);
23258 debugMaxNumPresolveOperations_ = 0;
23263 private boolean debugCrashOnBadHint_ ;
23272 @java.lang.Override
23274 return ((bitField3_ & 0x00000020) != 0);
23284 @java.lang.Override
23286 return debugCrashOnBadHint_;
23299 debugCrashOnBadHint_ = value;
23300 bitField3_ |= 0x00000020;
23313 bitField3_ = (bitField3_ & ~0x00000020);
23314 debugCrashOnBadHint_ =
false;
23319 private boolean useOptimizationHints_ =
true;
23331 @java.lang.Override
23333 return ((bitField3_ & 0x00000040) != 0);
23346 @java.lang.Override
23348 return useOptimizationHints_;
23364 useOptimizationHints_ = value;
23365 bitField3_ |= 0x00000040;
23381 bitField3_ = (bitField3_ & ~0x00000040);
23382 useOptimizationHints_ =
true;
23387 private boolean minimizeCore_ =
true;
23396 @java.lang.Override
23398 return ((bitField3_ & 0x00000080) != 0);
23408 @java.lang.Override
23410 return minimizeCore_;
23423 minimizeCore_ = value;
23424 bitField3_ |= 0x00000080;
23437 bitField3_ = (bitField3_ & ~0x00000080);
23438 minimizeCore_ =
true;
23443 private boolean findMultipleCores_ =
true;
23453 @java.lang.Override
23455 return ((bitField3_ & 0x00000100) != 0);
23466 @java.lang.Override
23468 return findMultipleCores_;
23482 findMultipleCores_ = value;
23483 bitField3_ |= 0x00000100;
23497 bitField3_ = (bitField3_ & ~0x00000100);
23498 findMultipleCores_ =
true;
23503 private boolean coverOptimization_ =
true;
23514 @java.lang.Override
23516 return ((bitField3_ & 0x00000200) != 0);
23528 @java.lang.Override
23530 return coverOptimization_;
23545 coverOptimization_ = value;
23546 bitField3_ |= 0x00000200;
23561 bitField3_ = (bitField3_ & ~0x00000200);
23562 coverOptimization_ =
true;
23567 private int maxSatAssumptionOrder_ = 0;
23573 return ((bitField3_ & 0x00000400) != 0);
23579 @java.lang.Override
23582 return result ==
null ? com.google.ortools.sat.SatParameters.MaxSatAssumptionOrder.DEFAULT_ASSUMPTION_ORDER : result;
23590 if (value ==
null) {
23591 throw new NullPointerException();
23593 bitField3_ |= 0x00000400;
23594 maxSatAssumptionOrder_ = value.getNumber();
23603 bitField3_ = (bitField3_ & ~0x00000400);
23604 maxSatAssumptionOrder_ = 0;
23609 private boolean maxSatReverseAssumptionOrder_ ;
23619 @java.lang.Override
23621 return ((bitField3_ & 0x00000800) != 0);
23632 @java.lang.Override
23634 return maxSatReverseAssumptionOrder_;
23648 maxSatReverseAssumptionOrder_ = value;
23649 bitField3_ |= 0x00000800;
23663 bitField3_ = (bitField3_ & ~0x00000800);
23664 maxSatReverseAssumptionOrder_ =
false;
23669 private int maxSatStratification_ = 1;
23675 return ((bitField3_ & 0x00001000) != 0);
23681 @java.lang.Override
23684 return result ==
null ? com.google.ortools.sat.SatParameters.MaxSatStratificationAlgorithm.STRATIFICATION_DESCENT : result;
23692 if (value ==
null) {
23693 throw new NullPointerException();
23695 bitField3_ |= 0x00001000;
23696 maxSatStratification_ = value.getNumber();
23705 bitField3_ = (bitField3_ & ~0x00001000);
23706 maxSatStratification_ = 1;
23711 private double propagationLoopDetectionFactor_ = 10D;
23728 @java.lang.Override
23730 return ((bitField3_ & 0x00002000) != 0);
23748 @java.lang.Override
23750 return propagationLoopDetectionFactor_;
23771 propagationLoopDetectionFactor_ = value;
23772 bitField3_ |= 0x00002000;
23793 bitField3_ = (bitField3_ & ~0x00002000);
23794 propagationLoopDetectionFactor_ = 10D;
23799 private boolean usePrecedencesInDisjunctiveConstraint_ =
true;
23816 @java.lang.Override
23818 return ((bitField3_ & 0x00004000) != 0);
23836 @java.lang.Override
23838 return usePrecedencesInDisjunctiveConstraint_;
23859 usePrecedencesInDisjunctiveConstraint_ = value;
23860 bitField3_ |= 0x00004000;
23881 bitField3_ = (bitField3_ & ~0x00004000);
23882 usePrecedencesInDisjunctiveConstraint_ =
true;
23887 private int maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
23900 @java.lang.Override
23902 return ((bitField3_ & 0x00008000) != 0);
23916 @java.lang.Override
23918 return maxSizeToCreatePrecedenceLiteralsInDisjunctive_;
23935 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = value;
23936 bitField3_ |= 0x00008000;
23953 bitField3_ = (bitField3_ & ~0x00008000);
23954 maxSizeToCreatePrecedenceLiteralsInDisjunctive_ = 60;
23959 private boolean useStrongPropagationInDisjunctive_ ;
23968 @java.lang.Override
23970 return ((bitField3_ & 0x00010000) != 0);
23980 @java.lang.Override
23982 return useStrongPropagationInDisjunctive_;
23995 useStrongPropagationInDisjunctive_ = value;
23996 bitField3_ |= 0x00010000;
24009 bitField3_ = (bitField3_ & ~0x00010000);
24010 useStrongPropagationInDisjunctive_ =
false;
24015 private boolean useOverloadCheckerInCumulative_ ;
24030 @java.lang.Override
24032 return ((bitField3_ & 0x00020000) != 0);
24048 @java.lang.Override
24050 return useOverloadCheckerInCumulative_;
24069 useOverloadCheckerInCumulative_ = value;
24070 bitField3_ |= 0x00020000;
24089 bitField3_ = (bitField3_ & ~0x00020000);
24090 useOverloadCheckerInCumulative_ =
false;
24095 private boolean useTimetableEdgeFindingInCumulative_ ;
24110 @java.lang.Override
24112 return ((bitField3_ & 0x00040000) != 0);
24128 @java.lang.Override
24130 return useTimetableEdgeFindingInCumulative_;
24149 useTimetableEdgeFindingInCumulative_ = value;
24150 bitField3_ |= 0x00040000;
24169 bitField3_ = (bitField3_ & ~0x00040000);
24170 useTimetableEdgeFindingInCumulative_ =
false;
24175 private boolean useHardPrecedencesInCumulative_ ;
24189 @java.lang.Override
24191 return ((bitField3_ & 0x00080000) != 0);
24206 @java.lang.Override
24208 return useHardPrecedencesInCumulative_;
24226 useHardPrecedencesInCumulative_ = value;
24227 bitField3_ |= 0x00080000;
24245 bitField3_ = (bitField3_ & ~0x00080000);
24246 useHardPrecedencesInCumulative_ =
false;
24251 private boolean exploitAllPrecedences_ ;
24256 @java.lang.Override
24258 return ((bitField3_ & 0x00100000) != 0);
24264 @java.lang.Override
24266 return exploitAllPrecedences_;
24275 exploitAllPrecedences_ = value;
24276 bitField3_ |= 0x00100000;
24285 bitField3_ = (bitField3_ & ~0x00100000);
24286 exploitAllPrecedences_ =
false;
24291 private boolean useDisjunctiveConstraintInCumulative_ =
true;
24309 @java.lang.Override
24311 return ((bitField3_ & 0x00200000) != 0);
24330 @java.lang.Override
24332 return useDisjunctiveConstraintInCumulative_;
24354 useDisjunctiveConstraintInCumulative_ = value;
24355 bitField3_ |= 0x00200000;
24377 bitField3_ = (bitField3_ & ~0x00200000);
24378 useDisjunctiveConstraintInCumulative_ =
true;
24383 private boolean useTimetablingInNoOverlap2D_ ;
24396 @java.lang.Override
24398 return ((bitField3_ & 0x00400000) != 0);
24412 @java.lang.Override
24414 return useTimetablingInNoOverlap2D_;
24431 useTimetablingInNoOverlap2D_ = value;
24432 bitField3_ |= 0x00400000;
24449 bitField3_ = (bitField3_ & ~0x00400000);
24450 useTimetablingInNoOverlap2D_ =
false;
24455 private boolean useEnergeticReasoningInNoOverlap2D_ ;
24466 @java.lang.Override
24468 return ((bitField3_ & 0x00800000) != 0);
24480 @java.lang.Override
24482 return useEnergeticReasoningInNoOverlap2D_;
24497 useEnergeticReasoningInNoOverlap2D_ = value;
24498 bitField3_ |= 0x00800000;
24513 bitField3_ = (bitField3_ & ~0x00800000);
24514 useEnergeticReasoningInNoOverlap2D_ =
false;
24519 private boolean usePairwiseReasoningInNoOverlap2D_ ;
24529 @java.lang.Override
24531 return ((bitField3_ & 0x01000000) != 0);
24542 @java.lang.Override
24544 return usePairwiseReasoningInNoOverlap2D_;
24558 usePairwiseReasoningInNoOverlap2D_ = value;
24559 bitField3_ |= 0x01000000;
24573 bitField3_ = (bitField3_ & ~0x01000000);
24574 usePairwiseReasoningInNoOverlap2D_ =
false;
24579 private boolean useDualSchedulingHeuristics_ =
true;
24590 @java.lang.Override
24592 return ((bitField3_ & 0x02000000) != 0);
24604 @java.lang.Override
24606 return useDualSchedulingHeuristics_;
24621 useDualSchedulingHeuristics_ = value;
24622 bitField3_ |= 0x02000000;
24637 bitField3_ = (bitField3_ & ~0x02000000);
24638 useDualSchedulingHeuristics_ =
true;
24643 private int linearizationLevel_ = 1;
24655 @java.lang.Override
24657 return ((bitField3_ & 0x04000000) != 0);
24670 @java.lang.Override
24672 return linearizationLevel_;
24688 linearizationLevel_ = value;
24689 bitField3_ |= 0x04000000;
24705 bitField3_ = (bitField3_ & ~0x04000000);
24706 linearizationLevel_ = 1;
24711 private int booleanEncodingLevel_ = 1;
24721 @java.lang.Override
24723 return ((bitField3_ & 0x08000000) != 0);
24734 @java.lang.Override
24736 return booleanEncodingLevel_;
24750 booleanEncodingLevel_ = value;
24751 bitField3_ |= 0x08000000;
24765 bitField3_ = (bitField3_ & ~0x08000000);
24766 booleanEncodingLevel_ = 1;
24771 private int maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
24783 @java.lang.Override
24785 return ((bitField3_ & 0x10000000) != 0);
24798 @java.lang.Override
24800 return maxDomainSizeWhenEncodingEqNeqConstraints_;
24816 maxDomainSizeWhenEncodingEqNeqConstraints_ = value;
24817 bitField3_ |= 0x10000000;
24833 bitField3_ = (bitField3_ & ~0x10000000);
24834 maxDomainSizeWhenEncodingEqNeqConstraints_ = 16;
24839 private int maxNumCuts_ = 10000;
24852 @java.lang.Override
24854 return ((bitField3_ & 0x20000000) != 0);
24868 @java.lang.Override
24870 return maxNumCuts_;
24887 maxNumCuts_ = value;
24888 bitField3_ |= 0x20000000;
24905 bitField3_ = (bitField3_ & ~0x20000000);
24906 maxNumCuts_ = 10000;
24911 private int cutLevel_ = 1;
24922 @java.lang.Override
24924 return ((bitField3_ & 0x40000000) != 0);
24936 @java.lang.Override
24954 bitField3_ |= 0x40000000;
24969 bitField3_ = (bitField3_ & ~0x40000000);
24975 private boolean onlyAddCutsAtLevelZero_ ;
24985 @java.lang.Override
24987 return ((bitField3_ & 0x80000000) != 0);
24998 @java.lang.Override
25000 return onlyAddCutsAtLevelZero_;
25014 onlyAddCutsAtLevelZero_ = value;
25015 bitField3_ |= 0x80000000;
25029 bitField3_ = (bitField3_ & ~0x80000000);
25030 onlyAddCutsAtLevelZero_ =
false;
25035 private boolean addObjectiveCut_ ;
25048 @java.lang.Override
25050 return ((bitField4_ & 0x00000001) != 0);
25064 @java.lang.Override
25066 return addObjectiveCut_;
25083 addObjectiveCut_ = value;
25084 bitField4_ |= 0x00000001;
25101 bitField4_ = (bitField4_ & ~0x00000001);
25102 addObjectiveCut_ =
false;
25107 private boolean addCgCuts_ =
true;
25117 @java.lang.Override
25119 return ((bitField4_ & 0x00000002) != 0);
25130 @java.lang.Override
25146 addCgCuts_ = value;
25147 bitField4_ |= 0x00000002;
25161 bitField4_ = (bitField4_ & ~0x00000002);
25167 private boolean addMirCuts_ =
true;
25177 @java.lang.Override
25179 return ((bitField4_ & 0x00000004) != 0);
25190 @java.lang.Override
25192 return addMirCuts_;
25206 addMirCuts_ = value;
25207 bitField4_ |= 0x00000004;
25221 bitField4_ = (bitField4_ & ~0x00000004);
25222 addMirCuts_ =
true;
25227 private boolean addZeroHalfCuts_ =
true;
25237 @java.lang.Override
25239 return ((bitField4_ & 0x00000008) != 0);
25250 @java.lang.Override
25252 return addZeroHalfCuts_;
25266 addZeroHalfCuts_ = value;
25267 bitField4_ |= 0x00000008;
25281 bitField4_ = (bitField4_ & ~0x00000008);
25282 addZeroHalfCuts_ =
true;
25287 private boolean addCliqueCuts_ =
true;
25298 @java.lang.Override
25300 return ((bitField4_ & 0x00000010) != 0);
25312 @java.lang.Override
25314 return addCliqueCuts_;
25329 addCliqueCuts_ = value;
25330 bitField4_ |= 0x00000010;
25345 bitField4_ = (bitField4_ & ~0x00000010);
25346 addCliqueCuts_ =
true;
25351 private int maxAllDiffCutSize_ = 64;
25362 @java.lang.Override
25364 return ((bitField4_ & 0x00000020) != 0);
25376 @java.lang.Override
25378 return maxAllDiffCutSize_;
25393 maxAllDiffCutSize_ = value;
25394 bitField4_ |= 0x00000020;
25409 bitField4_ = (bitField4_ & ~0x00000020);
25410 maxAllDiffCutSize_ = 64;
25415 private boolean addLinMaxCuts_ =
true;
25426 @java.lang.Override
25428 return ((bitField4_ & 0x00000040) != 0);
25440 @java.lang.Override
25442 return addLinMaxCuts_;
25457 addLinMaxCuts_ = value;
25458 bitField4_ |= 0x00000040;
25473 bitField4_ = (bitField4_ & ~0x00000040);
25474 addLinMaxCuts_ =
true;
25479 private int maxIntegerRoundingScaling_ = 600;
25495 @java.lang.Override
25497 return ((bitField4_ & 0x00000080) != 0);
25514 @java.lang.Override
25516 return maxIntegerRoundingScaling_;
25536 maxIntegerRoundingScaling_ = value;
25537 bitField4_ |= 0x00000080;
25557 bitField4_ = (bitField4_ & ~0x00000080);
25558 maxIntegerRoundingScaling_ = 600;
25563 private boolean addLpConstraintsLazily_ =
true;
25575 @java.lang.Override
25577 return ((bitField4_ & 0x00000100) != 0);
25590 @java.lang.Override
25592 return addLpConstraintsLazily_;
25608 addLpConstraintsLazily_ = value;
25609 bitField4_ |= 0x00000100;
25625 bitField4_ = (bitField4_ & ~0x00000100);
25626 addLpConstraintsLazily_ =
true;
25631 private int rootLpIterations_ = 2000;
25643 @java.lang.Override
25645 return ((bitField4_ & 0x00000200) != 0);
25658 @java.lang.Override
25660 return rootLpIterations_;
25676 rootLpIterations_ = value;
25677 bitField4_ |= 0x00000200;
25693 bitField4_ = (bitField4_ & ~0x00000200);
25694 rootLpIterations_ = 2000;
25699 private double minOrthogonalityForLpConstraints_ = 0.05D;
25712 @java.lang.Override
25714 return ((bitField4_ & 0x00000400) != 0);
25728 @java.lang.Override
25730 return minOrthogonalityForLpConstraints_;
25747 minOrthogonalityForLpConstraints_ = value;
25748 bitField4_ |= 0x00000400;
25765 bitField4_ = (bitField4_ & ~0x00000400);
25766 minOrthogonalityForLpConstraints_ = 0.05D;
25771 private int maxCutRoundsAtLevelZero_ = 1;
25780 @java.lang.Override
25782 return ((bitField4_ & 0x00000800) != 0);
25792 @java.lang.Override
25794 return maxCutRoundsAtLevelZero_;
25807 maxCutRoundsAtLevelZero_ = value;
25808 bitField4_ |= 0x00000800;
25821 bitField4_ = (bitField4_ & ~0x00000800);
25822 maxCutRoundsAtLevelZero_ = 1;
25827 private int maxConsecutiveInactiveCount_ = 100;
25838 @java.lang.Override
25840 return ((bitField4_ & 0x00001000) != 0);
25852 @java.lang.Override
25854 return maxConsecutiveInactiveCount_;
25869 maxConsecutiveInactiveCount_ = value;
25870 bitField4_ |= 0x00001000;
25885 bitField4_ = (bitField4_ & ~0x00001000);
25886 maxConsecutiveInactiveCount_ = 100;
25891 private double cutMaxActiveCountValue_ = 10000000000D;
25902 @java.lang.Override
25904 return ((bitField4_ & 0x00002000) != 0);
25916 @java.lang.Override
25918 return cutMaxActiveCountValue_;
25933 cutMaxActiveCountValue_ = value;
25934 bitField4_ |= 0x00002000;
25949 bitField4_ = (bitField4_ & ~0x00002000);
25950 cutMaxActiveCountValue_ = 10000000000D;
25955 private double cutActiveCountDecay_ = 0.8D;
25960 @java.lang.Override
25962 return ((bitField4_ & 0x00004000) != 0);
25968 @java.lang.Override
25970 return cutActiveCountDecay_;
25979 cutActiveCountDecay_ = value;
25980 bitField4_ |= 0x00004000;
25989 bitField4_ = (bitField4_ & ~0x00004000);
25990 cutActiveCountDecay_ = 0.8D;
25995 private int cutCleanupTarget_ = 1000;
26004 @java.lang.Override
26006 return ((bitField4_ & 0x00008000) != 0);
26016 @java.lang.Override
26018 return cutCleanupTarget_;
26031 cutCleanupTarget_ = value;
26032 bitField4_ |= 0x00008000;
26045 bitField4_ = (bitField4_ & ~0x00008000);
26046 cutCleanupTarget_ = 1000;
26051 private int newConstraintsBatchSize_ = 50;
26061 @java.lang.Override
26063 return ((bitField4_ & 0x00010000) != 0);
26074 @java.lang.Override
26076 return newConstraintsBatchSize_;
26090 newConstraintsBatchSize_ = value;
26091 bitField4_ |= 0x00010000;
26105 bitField4_ = (bitField4_ & ~0x00010000);
26106 newConstraintsBatchSize_ = 50;
26111 private int searchBranching_ = 0;
26117 return ((bitField4_ & 0x00020000) != 0);
26123 @java.lang.Override
26126 return result ==
null ? com.google.ortools.sat.SatParameters.SearchBranching.AUTOMATIC_SEARCH : result;
26134 if (value ==
null) {
26135 throw new NullPointerException();
26137 bitField4_ |= 0x00020000;
26138 searchBranching_ = value.getNumber();
26147 bitField4_ = (bitField4_ & ~0x00020000);
26148 searchBranching_ = 0;
26153 private int hintConflictLimit_ = 10;
26162 @java.lang.Override
26164 return ((bitField4_ & 0x00040000) != 0);
26174 @java.lang.Override
26176 return hintConflictLimit_;
26189 hintConflictLimit_ = value;
26190 bitField4_ |= 0x00040000;
26203 bitField4_ = (bitField4_ & ~0x00040000);
26204 hintConflictLimit_ = 10;
26209 private boolean repairHint_ ;
26221 @java.lang.Override
26223 return ((bitField4_ & 0x00080000) != 0);
26236 @java.lang.Override
26238 return repairHint_;
26254 repairHint_ = value;
26255 bitField4_ |= 0x00080000;
26271 bitField4_ = (bitField4_ & ~0x00080000);
26272 repairHint_ =
false;
26277 private boolean fixVariablesToTheirHintedValue_ ;
26287 @java.lang.Override
26289 return ((bitField4_ & 0x00100000) != 0);
26300 @java.lang.Override
26302 return fixVariablesToTheirHintedValue_;
26316 fixVariablesToTheirHintedValue_ = value;
26317 bitField4_ |= 0x00100000;
26331 bitField4_ = (bitField4_ & ~0x00100000);
26332 fixVariablesToTheirHintedValue_ =
false;
26337 private boolean exploitIntegerLpSolution_ =
true;
26349 @java.lang.Override
26351 return ((bitField4_ & 0x00200000) != 0);
26364 @java.lang.Override
26366 return exploitIntegerLpSolution_;
26382 exploitIntegerLpSolution_ = value;
26383 bitField4_ |= 0x00200000;
26399 bitField4_ = (bitField4_ & ~0x00200000);
26400 exploitIntegerLpSolution_ =
true;
26405 private boolean exploitAllLpSolution_ =
true;
26416 @java.lang.Override
26418 return ((bitField4_ & 0x00400000) != 0);
26430 @java.lang.Override
26432 return exploitAllLpSolution_;
26447 exploitAllLpSolution_ = value;
26448 bitField4_ |= 0x00400000;
26463 bitField4_ = (bitField4_ & ~0x00400000);
26464 exploitAllLpSolution_ =
true;
26469 private boolean exploitBestSolution_ ;
26478 @java.lang.Override
26480 return ((bitField4_ & 0x00800000) != 0);
26490 @java.lang.Override
26492 return exploitBestSolution_;
26505 exploitBestSolution_ = value;
26506 bitField4_ |= 0x00800000;
26519 bitField4_ = (bitField4_ & ~0x00800000);
26520 exploitBestSolution_ =
false;
26525 private boolean exploitRelaxationSolution_ ;
26536 @java.lang.Override
26538 return ((bitField4_ & 0x01000000) != 0);
26550 @java.lang.Override
26552 return exploitRelaxationSolution_;
26567 exploitRelaxationSolution_ = value;
26568 bitField4_ |= 0x01000000;
26583 bitField4_ = (bitField4_ & ~0x01000000);
26584 exploitRelaxationSolution_ =
false;
26589 private boolean exploitObjective_ =
true;
26599 @java.lang.Override
26601 return ((bitField4_ & 0x02000000) != 0);
26612 @java.lang.Override
26614 return exploitObjective_;
26628 exploitObjective_ = value;
26629 bitField4_ |= 0x02000000;
26643 bitField4_ = (bitField4_ & ~0x02000000);
26644 exploitObjective_ =
true;
26649 private long probingPeriodAtRoot_ ;
26660 @java.lang.Override
26662 return ((bitField4_ & 0x04000000) != 0);
26674 @java.lang.Override
26676 return probingPeriodAtRoot_;
26691 probingPeriodAtRoot_ = value;
26692 bitField4_ |= 0x04000000;
26707 bitField4_ = (bitField4_ & ~0x04000000);
26708 probingPeriodAtRoot_ = 0L;
26713 private boolean useProbingSearch_ ;
26724 @java.lang.Override
26726 return ((bitField4_ & 0x08000000) != 0);
26738 @java.lang.Override
26740 return useProbingSearch_;
26755 useProbingSearch_ = value;
26756 bitField4_ |= 0x08000000;
26771 bitField4_ = (bitField4_ & ~0x08000000);
26772 useProbingSearch_ =
false;
26777 private boolean useShavingInProbingSearch_ =
true;
26787 @java.lang.Override
26789 return ((bitField4_ & 0x10000000) != 0);
26800 @java.lang.Override
26802 return useShavingInProbingSearch_;
26816 useShavingInProbingSearch_ = value;
26817 bitField4_ |= 0x10000000;
26831 bitField4_ = (bitField4_ & ~0x10000000);
26832 useShavingInProbingSearch_ =
true;
26837 private double shavingSearchDeterministicTime_ = 0.001D;
26847 @java.lang.Override
26849 return ((bitField4_ & 0x20000000) != 0);
26860 @java.lang.Override
26862 return shavingSearchDeterministicTime_;
26876 shavingSearchDeterministicTime_ = value;
26877 bitField4_ |= 0x20000000;
26891 bitField4_ = (bitField4_ & ~0x20000000);
26892 shavingSearchDeterministicTime_ = 0.001D;
26897 private boolean useObjectiveLbSearch_ ;
26907 @java.lang.Override
26909 return ((bitField4_ & 0x40000000) != 0);
26920 @java.lang.Override
26922 return useObjectiveLbSearch_;
26936 useObjectiveLbSearch_ = value;
26937 bitField4_ |= 0x40000000;
26951 bitField4_ = (bitField4_ & ~0x40000000);
26952 useObjectiveLbSearch_ =
false;
26957 private boolean useObjectiveShavingSearch_ ;
26968 @java.lang.Override
26970 return ((bitField4_ & 0x80000000) != 0);
26982 @java.lang.Override
26984 return useObjectiveShavingSearch_;
26999 useObjectiveShavingSearch_ = value;
27000 bitField4_ |= 0x80000000;
27015 bitField4_ = (bitField4_ & ~0x80000000);
27016 useObjectiveShavingSearch_ =
false;
27021 private long pseudoCostReliabilityThreshold_ = 100L;
27031 @java.lang.Override
27033 return ((bitField5_ & 0x00000001) != 0);
27044 @java.lang.Override
27046 return pseudoCostReliabilityThreshold_;
27060 pseudoCostReliabilityThreshold_ = value;
27061 bitField5_ |= 0x00000001;
27075 bitField5_ = (bitField5_ & ~0x00000001);
27076 pseudoCostReliabilityThreshold_ = 100L;
27081 private boolean optimizeWithCore_ ;
27093 @java.lang.Override
27095 return ((bitField5_ & 0x00000002) != 0);
27108 @java.lang.Override
27110 return optimizeWithCore_;
27126 optimizeWithCore_ = value;
27127 bitField5_ |= 0x00000002;
27143 bitField5_ = (bitField5_ & ~0x00000002);
27144 optimizeWithCore_ =
false;
27149 private boolean optimizeWithLbTreeSearch_ ;
27162 @java.lang.Override
27164 return ((bitField5_ & 0x00000004) != 0);
27178 @java.lang.Override
27180 return optimizeWithLbTreeSearch_;
27197 optimizeWithLbTreeSearch_ = value;
27198 bitField5_ |= 0x00000004;
27215 bitField5_ = (bitField5_ & ~0x00000004);
27216 optimizeWithLbTreeSearch_ =
false;
27221 private int binarySearchNumConflicts_ = -1;
27233 @java.lang.Override
27235 return ((bitField5_ & 0x00000008) != 0);
27248 @java.lang.Override
27250 return binarySearchNumConflicts_;
27266 binarySearchNumConflicts_ = value;
27267 bitField5_ |= 0x00000008;
27283 bitField5_ = (bitField5_ & ~0x00000008);
27284 binarySearchNumConflicts_ = -1;
27289 private boolean optimizeWithMaxHs_ ;
27303 @java.lang.Override
27305 return ((bitField5_ & 0x00000010) != 0);
27320 @java.lang.Override
27322 return optimizeWithMaxHs_;
27340 optimizeWithMaxHs_ = value;
27341 bitField5_ |= 0x00000010;
27359 bitField5_ = (bitField5_ & ~0x00000010);
27360 optimizeWithMaxHs_ =
false;
27365 private boolean testFeasibilityJump_ ;
27378 @java.lang.Override
27380 return ((bitField5_ & 0x00000020) != 0);
27394 @java.lang.Override
27396 return testFeasibilityJump_;
27413 testFeasibilityJump_ = value;
27414 bitField5_ |= 0x00000020;
27431 bitField5_ = (bitField5_ & ~0x00000020);
27432 testFeasibilityJump_ =
false;
27437 private long feasibilityJumpMaxNumValuesScanned_ = 4096L;
27447 @java.lang.Override
27449 return ((bitField5_ & 0x00000040) != 0);
27460 @java.lang.Override
27462 return feasibilityJumpMaxNumValuesScanned_;
27476 feasibilityJumpMaxNumValuesScanned_ = value;
27477 bitField5_ |= 0x00000040;
27491 bitField5_ = (bitField5_ & ~0x00000040);
27492 feasibilityJumpMaxNumValuesScanned_ = 4096L;
27497 private boolean feasibilityJumpProtectLinearFeasibility_ =
true;
27509 @java.lang.Override
27511 return ((bitField5_ & 0x00000080) != 0);
27524 @java.lang.Override
27526 return feasibilityJumpProtectLinearFeasibility_;
27542 feasibilityJumpProtectLinearFeasibility_ = value;
27543 bitField5_ |= 0x00000080;
27559 bitField5_ = (bitField5_ & ~0x00000080);
27560 feasibilityJumpProtectLinearFeasibility_ =
true;
27565 private double feasibilityJumpDecay_ = 1D;
27575 @java.lang.Override
27577 return ((bitField5_ & 0x00000100) != 0);
27588 @java.lang.Override
27590 return feasibilityJumpDecay_;
27604 feasibilityJumpDecay_ = value;
27605 bitField5_ |= 0x00000100;
27619 bitField5_ = (bitField5_ & ~0x00000100);
27620 feasibilityJumpDecay_ = 1D;
27625 private double feasibilityJumpVarRandomizationProbability_ ;
27635 @java.lang.Override
27637 return ((bitField5_ & 0x00000200) != 0);
27648 @java.lang.Override
27650 return feasibilityJumpVarRandomizationProbability_;
27664 feasibilityJumpVarRandomizationProbability_ = value;
27665 bitField5_ |= 0x00000200;
27679 bitField5_ = (bitField5_ & ~0x00000200);
27680 feasibilityJumpVarRandomizationProbability_ = 0D;
27685 private double feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
27695 @java.lang.Override
27697 return ((bitField5_ & 0x00000400) != 0);
27708 @java.lang.Override
27710 return feasibilityJumpVarPerburbationRangeRatio_;
27724 feasibilityJumpVarPerburbationRangeRatio_ = value;
27725 bitField5_ |= 0x00000400;
27739 bitField5_ = (bitField5_ & ~0x00000400);
27740 feasibilityJumpVarPerburbationRangeRatio_ = 0.2D;
27745 private boolean feasibilityJumpEnableRestarts_ =
true;
27756 @java.lang.Override
27758 return ((bitField5_ & 0x00000800) != 0);
27770 @java.lang.Override
27772 return feasibilityJumpEnableRestarts_;
27787 feasibilityJumpEnableRestarts_ = value;
27788 bitField5_ |= 0x00000800;
27803 bitField5_ = (bitField5_ & ~0x00000800);
27804 feasibilityJumpEnableRestarts_ =
true;
27809 private int numViolationLs_ ;
27820 @java.lang.Override
27822 return ((bitField5_ & 0x00001000) != 0);
27834 @java.lang.Override
27836 return numViolationLs_;
27851 numViolationLs_ = value;
27852 bitField5_ |= 0x00001000;
27867 bitField5_ = (bitField5_ & ~0x00001000);
27868 numViolationLs_ = 0;
27873 private int violationLsPerturbationPeriod_ = 100;
27882 @java.lang.Override
27884 return ((bitField5_ & 0x00002000) != 0);
27894 @java.lang.Override
27896 return violationLsPerturbationPeriod_;
27909 violationLsPerturbationPeriod_ = value;
27910 bitField5_ |= 0x00002000;
27923 bitField5_ = (bitField5_ & ~0x00002000);
27924 violationLsPerturbationPeriod_ = 100;
27929 private int sharedTreeNumWorkers_ ;
27942 @java.lang.Override
27944 return ((bitField5_ & 0x00004000) != 0);
27958 @java.lang.Override
27960 return sharedTreeNumWorkers_;
27977 sharedTreeNumWorkers_ = value;
27978 bitField5_ |= 0x00004000;
27995 bitField5_ = (bitField5_ & ~0x00004000);
27996 sharedTreeNumWorkers_ = 0;
28001 private boolean useSharedTreeSearch_ ;
28010 @java.lang.Override
28012 return ((bitField5_ & 0x00008000) != 0);
28022 @java.lang.Override
28024 return useSharedTreeSearch_;
28037 useSharedTreeSearch_ = value;
28038 bitField5_ |= 0x00008000;
28051 bitField5_ = (bitField5_ & ~0x00008000);
28052 useSharedTreeSearch_ =
false;
28057 private double sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
28068 @java.lang.Override
28070 return ((bitField5_ & 0x00010000) != 0);
28082 @java.lang.Override
28084 return sharedTreeWorkerObjectiveSplitProbability_;
28099 sharedTreeWorkerObjectiveSplitProbability_ = value;
28100 bitField5_ |= 0x00010000;
28115 bitField5_ = (bitField5_ & ~0x00010000);
28116 sharedTreeWorkerObjectiveSplitProbability_ = 0.5D;
28121 private int sharedTreeMaxNodesPerWorker_ = 128;
28133 @java.lang.Override
28135 return ((bitField5_ & 0x00020000) != 0);
28148 @java.lang.Override
28150 return sharedTreeMaxNodesPerWorker_;
28166 sharedTreeMaxNodesPerWorker_ = value;
28167 bitField5_ |= 0x00020000;
28183 bitField5_ = (bitField5_ & ~0x00020000);
28184 sharedTreeMaxNodesPerWorker_ = 128;
28189 private int sharedTreeSplitStrategy_ = 0;
28195 return ((bitField5_ & 0x00040000) != 0);
28201 @java.lang.Override
28204 return result ==
null ? com.google.ortools.sat.SatParameters.SharedTreeSplitStrategy.SPLIT_STRATEGY_AUTO : result;
28212 if (value ==
null) {
28213 throw new NullPointerException();
28215 bitField5_ |= 0x00040000;
28216 sharedTreeSplitStrategy_ = value.getNumber();
28225 bitField5_ = (bitField5_ & ~0x00040000);
28226 sharedTreeSplitStrategy_ = 0;
28231 private boolean enumerateAllSolutions_ ;
28246 @java.lang.Override
28248 return ((bitField5_ & 0x00080000) != 0);
28264 @java.lang.Override
28266 return enumerateAllSolutions_;
28285 enumerateAllSolutions_ = value;
28286 bitField5_ |= 0x00080000;
28305 bitField5_ = (bitField5_ & ~0x00080000);
28306 enumerateAllSolutions_ =
false;
28311 private boolean keepAllFeasibleSolutionsInPresolve_ ;
28327 @java.lang.Override
28329 return ((bitField5_ & 0x00100000) != 0);
28346 @java.lang.Override
28348 return keepAllFeasibleSolutionsInPresolve_;
28368 keepAllFeasibleSolutionsInPresolve_ = value;
28369 bitField5_ |= 0x00100000;
28389 bitField5_ = (bitField5_ & ~0x00100000);
28390 keepAllFeasibleSolutionsInPresolve_ =
false;
28395 private boolean fillTightenedDomainsInResponse_ ;
28408 @java.lang.Override
28410 return ((bitField5_ & 0x00200000) != 0);
28424 @java.lang.Override
28426 return fillTightenedDomainsInResponse_;
28443 fillTightenedDomainsInResponse_ = value;
28444 bitField5_ |= 0x00200000;
28461 bitField5_ = (bitField5_ & ~0x00200000);
28462 fillTightenedDomainsInResponse_ =
false;
28467 private boolean fillAdditionalSolutionsInResponse_ ;
28485 @java.lang.Override
28487 return ((bitField5_ & 0x00400000) != 0);
28506 @java.lang.Override
28508 return fillAdditionalSolutionsInResponse_;
28530 fillAdditionalSolutionsInResponse_ = value;
28531 bitField5_ |= 0x00400000;
28553 bitField5_ = (bitField5_ & ~0x00400000);
28554 fillAdditionalSolutionsInResponse_ =
false;
28559 private boolean instantiateAllVariables_ =
true;
28571 @java.lang.Override
28573 return ((bitField5_ & 0x00800000) != 0);
28586 @java.lang.Override
28588 return instantiateAllVariables_;
28604 instantiateAllVariables_ = value;
28605 bitField5_ |= 0x00800000;
28621 bitField5_ = (bitField5_ & ~0x00800000);
28622 instantiateAllVariables_ =
true;
28627 private boolean autoDetectGreaterThanAtLeastOneOf_ =
true;
28639 @java.lang.Override
28641 return ((bitField5_ & 0x01000000) != 0);
28654 @java.lang.Override
28656 return autoDetectGreaterThanAtLeastOneOf_;
28672 autoDetectGreaterThanAtLeastOneOf_ = value;
28673 bitField5_ |= 0x01000000;
28689 bitField5_ = (bitField5_ & ~0x01000000);
28690 autoDetectGreaterThanAtLeastOneOf_ =
true;
28695 private boolean stopAfterFirstSolution_ ;
28704 @java.lang.Override
28706 return ((bitField5_ & 0x02000000) != 0);
28716 @java.lang.Override
28718 return stopAfterFirstSolution_;
28731 stopAfterFirstSolution_ = value;
28732 bitField5_ |= 0x02000000;
28745 bitField5_ = (bitField5_ & ~0x02000000);
28746 stopAfterFirstSolution_ =
false;
28751 private boolean stopAfterPresolve_ ;
28761 @java.lang.Override
28763 return ((bitField5_ & 0x04000000) != 0);
28774 @java.lang.Override
28776 return stopAfterPresolve_;
28790 stopAfterPresolve_ = value;
28791 bitField5_ |= 0x04000000;
28805 bitField5_ = (bitField5_ & ~0x04000000);
28806 stopAfterPresolve_ =
false;
28811 private boolean stopAfterRootPropagation_ ;
28816 @java.lang.Override
28818 return ((bitField5_ & 0x08000000) != 0);
28824 @java.lang.Override
28826 return stopAfterRootPropagation_;
28835 stopAfterRootPropagation_ = value;
28836 bitField5_ |= 0x08000000;
28845 bitField5_ = (bitField5_ & ~0x08000000);
28846 stopAfterRootPropagation_ =
false;
28851 private boolean useLnsOnly_ ;
28860 @java.lang.Override
28862 return ((bitField5_ & 0x10000000) != 0);
28872 @java.lang.Override
28874 return useLnsOnly_;
28887 useLnsOnly_ = value;
28888 bitField5_ |= 0x10000000;
28901 bitField5_ = (bitField5_ & ~0x10000000);
28902 useLnsOnly_ =
false;
28907 private int solutionPoolSize_ = 3;
28918 @java.lang.Override
28920 return ((bitField5_ & 0x20000000) != 0);
28932 @java.lang.Override
28934 return solutionPoolSize_;
28949 solutionPoolSize_ = value;
28950 bitField5_ |= 0x20000000;
28965 bitField5_ = (bitField5_ & ~0x20000000);
28966 solutionPoolSize_ = 3;
28971 private boolean useRinsLns_ =
true;
28980 @java.lang.Override
28982 return ((bitField5_ & 0x40000000) != 0);
28992 @java.lang.Override
28994 return useRinsLns_;
29007 useRinsLns_ = value;
29008 bitField5_ |= 0x40000000;
29021 bitField5_ = (bitField5_ & ~0x40000000);
29022 useRinsLns_ =
true;
29027 private boolean useFeasibilityPump_ =
true;
29036 @java.lang.Override
29038 return ((bitField5_ & 0x80000000) != 0);
29048 @java.lang.Override
29050 return useFeasibilityPump_;
29063 useFeasibilityPump_ = value;
29064 bitField5_ |= 0x80000000;
29077 bitField5_ = (bitField5_ & ~0x80000000);
29078 useFeasibilityPump_ =
true;
29083 private boolean useLbRelaxLns_ ;
29094 @java.lang.Override
29096 return ((bitField6_ & 0x00000001) != 0);
29108 @java.lang.Override
29110 return useLbRelaxLns_;
29125 useLbRelaxLns_ = value;
29126 bitField6_ |= 0x00000001;
29141 bitField6_ = (bitField6_ & ~0x00000001);
29142 useLbRelaxLns_ =
false;
29147 private int fpRounding_ = 2;
29153 return ((bitField6_ & 0x00000002) != 0);
29159 @java.lang.Override
29162 return result ==
null ? com.google.ortools.sat.SatParameters.FPRoundingMethod.PROPAGATION_ASSISTED : result;
29170 if (value ==
null) {
29171 throw new NullPointerException();
29173 bitField6_ |= 0x00000002;
29174 fpRounding_ = value.getNumber();
29183 bitField6_ = (bitField6_ & ~0x00000002);
29189 private boolean diversifyLnsParams_ ;
29198 @java.lang.Override
29200 return ((bitField6_ & 0x00000004) != 0);
29210 @java.lang.Override
29212 return diversifyLnsParams_;
29225 diversifyLnsParams_ = value;
29226 bitField6_ |= 0x00000004;
29239 bitField6_ = (bitField6_ & ~0x00000004);
29240 diversifyLnsParams_ =
false;
29245 private boolean randomizeSearch_ ;
29254 @java.lang.Override
29256 return ((bitField6_ & 0x00000008) != 0);
29266 @java.lang.Override
29268 return randomizeSearch_;
29281 randomizeSearch_ = value;
29282 bitField6_ |= 0x00000008;
29295 bitField6_ = (bitField6_ & ~0x00000008);
29296 randomizeSearch_ =
false;
29301 private long searchRandomizationTolerance_ ;
29316 @java.lang.Override
29318 return ((bitField6_ & 0x00000010) != 0);
29334 @java.lang.Override
29336 return searchRandomizationTolerance_;
29355 searchRandomizationTolerance_ = value;
29356 bitField6_ |= 0x00000010;
29375 bitField6_ = (bitField6_ & ~0x00000010);
29376 searchRandomizationTolerance_ = 0L;
29381 private boolean useOptionalVariables_ ;
29395 @java.lang.Override
29397 return ((bitField6_ & 0x00000020) != 0);
29412 @java.lang.Override
29414 return useOptionalVariables_;
29432 useOptionalVariables_ = value;
29433 bitField6_ |= 0x00000020;
29451 bitField6_ = (bitField6_ & ~0x00000020);
29452 useOptionalVariables_ =
false;
29457 private boolean useExactLpReason_ =
true;
29469 @java.lang.Override
29471 return ((bitField6_ & 0x00000040) != 0);
29484 @java.lang.Override
29486 return useExactLpReason_;
29502 useExactLpReason_ = value;
29503 bitField6_ |= 0x00000040;
29519 bitField6_ = (bitField6_ & ~0x00000040);
29520 useExactLpReason_ =
true;
29525 private boolean useBranchingInLp_ ;
29536 @java.lang.Override
29538 return ((bitField6_ & 0x00000080) != 0);
29550 @java.lang.Override
29552 return useBranchingInLp_;
29567 useBranchingInLp_ = value;
29568 bitField6_ |= 0x00000080;
29583 bitField6_ = (bitField6_ & ~0x00000080);
29584 useBranchingInLp_ =
false;
29589 private boolean useCombinedNoOverlap_ ;
29600 @java.lang.Override
29602 return ((bitField6_ & 0x00000100) != 0);
29614 @java.lang.Override
29616 return useCombinedNoOverlap_;
29631 useCombinedNoOverlap_ = value;
29632 bitField6_ |= 0x00000100;
29647 bitField6_ = (bitField6_ & ~0x00000100);
29648 useCombinedNoOverlap_ =
false;
29653 private boolean catchSigintSignal_ =
true;
29664 @java.lang.Override
29666 return ((bitField6_ & 0x00000200) != 0);
29678 @java.lang.Override
29680 return catchSigintSignal_;
29695 catchSigintSignal_ = value;
29696 bitField6_ |= 0x00000200;
29711 bitField6_ = (bitField6_ & ~0x00000200);
29712 catchSigintSignal_ =
true;
29717 private boolean useImpliedBounds_ =
true;
29728 @java.lang.Override
29730 return ((bitField6_ & 0x00000400) != 0);
29742 @java.lang.Override
29744 return useImpliedBounds_;
29759 useImpliedBounds_ = value;
29760 bitField6_ |= 0x00000400;
29775 bitField6_ = (bitField6_ & ~0x00000400);
29776 useImpliedBounds_ =
true;
29781 private boolean polishLpSolution_ ;
29793 @java.lang.Override
29795 return ((bitField6_ & 0x00000800) != 0);
29808 @java.lang.Override
29810 return polishLpSolution_;
29826 polishLpSolution_ = value;
29827 bitField6_ |= 0x00000800;
29843 bitField6_ = (bitField6_ & ~0x00000800);
29844 polishLpSolution_ =
false;
29849 private boolean convertIntervals_ =
true;
29860 @java.lang.Override
29862 return ((bitField6_ & 0x00001000) != 0);
29874 @java.lang.Override
29876 return convertIntervals_;
29891 convertIntervals_ = value;
29892 bitField6_ |= 0x00001000;
29907 bitField6_ = (bitField6_ & ~0x00001000);
29908 convertIntervals_ =
true;
29913 private int symmetryLevel_ = 2;
29925 @java.lang.Override
29927 return ((bitField6_ & 0x00002000) != 0);
29940 @java.lang.Override
29942 return symmetryLevel_;
29958 symmetryLevel_ = value;
29959 bitField6_ |= 0x00002000;
29975 bitField6_ = (bitField6_ & ~0x00002000);
29976 symmetryLevel_ = 2;
29981 private boolean newLinearPropagation_ ;
29990 @java.lang.Override
29992 return ((bitField6_ & 0x00004000) != 0);
30002 @java.lang.Override
30004 return newLinearPropagation_;
30017 newLinearPropagation_ = value;
30018 bitField6_ |= 0x00004000;
30031 bitField6_ = (bitField6_ & ~0x00004000);
30032 newLinearPropagation_ =
false;
30037 private int linearSplitSize_ = 100;
30048 @java.lang.Override
30050 return ((bitField6_ & 0x00008000) != 0);
30062 @java.lang.Override
30064 return linearSplitSize_;
30079 linearSplitSize_ = value;
30080 bitField6_ |= 0x00008000;
30095 bitField6_ = (bitField6_ & ~0x00008000);
30096 linearSplitSize_ = 100;
30101 private double mipMaxBound_ = 10000000D;
30112 @java.lang.Override
30114 return ((bitField6_ & 0x00010000) != 0);
30126 @java.lang.Override
30128 return mipMaxBound_;
30143 mipMaxBound_ = value;
30144 bitField6_ |= 0x00010000;
30159 bitField6_ = (bitField6_ & ~0x00010000);
30160 mipMaxBound_ = 10000000D;
30165 private double mipVarScaling_ = 1D;
30176 @java.lang.Override
30178 return ((bitField6_ & 0x00020000) != 0);
30190 @java.lang.Override
30192 return mipVarScaling_;
30207 mipVarScaling_ = value;
30208 bitField6_ |= 0x00020000;
30223 bitField6_ = (bitField6_ & ~0x00020000);
30224 mipVarScaling_ = 1D;
30229 private boolean mipScaleLargeDomain_ ;
30240 @java.lang.Override
30242 return ((bitField6_ & 0x00040000) != 0);
30254 @java.lang.Override
30256 return mipScaleLargeDomain_;
30271 mipScaleLargeDomain_ = value;
30272 bitField6_ |= 0x00040000;
30287 bitField6_ = (bitField6_ & ~0x00040000);
30288 mipScaleLargeDomain_ =
false;
30293 private boolean mipAutomaticallyScaleVariables_ =
true;
30306 @java.lang.Override
30308 return ((bitField6_ & 0x00080000) != 0);
30322 @java.lang.Override
30324 return mipAutomaticallyScaleVariables_;
30341 mipAutomaticallyScaleVariables_ = value;
30342 bitField6_ |= 0x00080000;
30359 bitField6_ = (bitField6_ & ~0x00080000);
30360 mipAutomaticallyScaleVariables_ =
true;
30365 private boolean onlySolveIp_ ;
30385 @java.lang.Override
30387 return ((bitField6_ & 0x00100000) != 0);
30408 @java.lang.Override
30410 return onlySolveIp_;
30434 onlySolveIp_ = value;
30435 bitField6_ |= 0x00100000;
30459 bitField6_ = (bitField6_ & ~0x00100000);
30460 onlySolveIp_ =
false;
30465 private double mipWantedPrecision_ = 1e-06D;
30490 @java.lang.Override
30492 return ((bitField6_ & 0x00200000) != 0);
30518 @java.lang.Override
30520 return mipWantedPrecision_;
30549 mipWantedPrecision_ = value;
30550 bitField6_ |= 0x00200000;
30579 bitField6_ = (bitField6_ & ~0x00200000);
30580 mipWantedPrecision_ = 1e-06D;
30585 private int mipMaxActivityExponent_ = 53;
30601 @java.lang.Override
30603 return ((bitField6_ & 0x00400000) != 0);
30620 @java.lang.Override
30622 return mipMaxActivityExponent_;
30642 mipMaxActivityExponent_ = value;
30643 bitField6_ |= 0x00400000;
30663 bitField6_ = (bitField6_ & ~0x00400000);
30664 mipMaxActivityExponent_ = 53;
30669 private double mipCheckPrecision_ = 0.0001D;
30680 @java.lang.Override
30682 return ((bitField6_ & 0x00800000) != 0);
30694 @java.lang.Override
30696 return mipCheckPrecision_;
30711 mipCheckPrecision_ = value;
30712 bitField6_ |= 0x00800000;
30727 bitField6_ = (bitField6_ & ~0x00800000);
30728 mipCheckPrecision_ = 0.0001D;
30733 private boolean mipComputeTrueObjectiveBound_ =
true;
30746 @java.lang.Override
30748 return ((bitField6_ & 0x01000000) != 0);
30762 @java.lang.Override
30764 return mipComputeTrueObjectiveBound_;
30781 mipComputeTrueObjectiveBound_ = value;
30782 bitField6_ |= 0x01000000;
30799 bitField6_ = (bitField6_ & ~0x01000000);
30800 mipComputeTrueObjectiveBound_ =
true;
30805 private double mipMaxValidMagnitude_ = 1e+30D;
30818 @java.lang.Override
30820 return ((bitField6_ & 0x02000000) != 0);
30834 @java.lang.Override
30836 return mipMaxValidMagnitude_;
30853 mipMaxValidMagnitude_ = value;
30854 bitField6_ |= 0x02000000;
30871 bitField6_ = (bitField6_ & ~0x02000000);
30872 mipMaxValidMagnitude_ = 1e+30D;
30877 private double mipDropTolerance_ = 1e-16D;
30887 @java.lang.Override
30889 return ((bitField6_ & 0x04000000) != 0);
30900 @java.lang.Override
30902 return mipDropTolerance_;
30916 mipDropTolerance_ = value;
30917 bitField6_ |= 0x04000000;
30931 bitField6_ = (bitField6_ & ~0x04000000);
30932 mipDropTolerance_ = 1e-16D;
30936 @java.lang.Override
30938 final com.google.protobuf.UnknownFieldSet unknownFields) {
30942 @java.lang.Override
30944 final com.google.protobuf.UnknownFieldSet unknownFields) {
30955 DEFAULT_INSTANCE =
new com.google.ortools.sat.SatParameters();
30959 return DEFAULT_INSTANCE;
30962 @java.lang.Deprecated
public static final com.google.protobuf.Parser<
SatParameters>
30964 @java.lang.Override
30966 com.google.protobuf.CodedInputStream input,
30967 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
30968 throws com.google.protobuf.InvalidProtocolBufferException {
30971 builder.
mergeFrom(input, extensionRegistry);
30972 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
30974 }
catch (com.google.protobuf.UninitializedMessageException e) {
30975 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.
buildPartial());
30976 }
catch (java.io.IOException e) {
30977 throw new com.google.protobuf.InvalidProtocolBufferException(e)
30988 @java.lang.Override
30993 @java.lang.Override
30995 return DEFAULT_INSTANCE;